黑马程序员技术交流社区
标题:
IO流的问题
[打印本页]
作者:
天子万年
时间:
2017-7-8 21:44
标题:
IO流的问题
package pps;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class dwef {
public static void main(String[] args) {
copyFile("c:/data1.txt", "D:/test.txt");
copyDirectiory("c:/123", "D:/test");
}
/*
* 拷贝文件到另一个路径
* @source 原文件
* @newpath 新文件
*/
public static void copyFile(String source, String newpath){
FileInputStream in=null;
FileOutputStream out=null;
try {
in = new FileInputStream(source);//in 流源文件
File file=new File(newpath);//创建file对象
if(!file.exists()){
file.createNewFile();
}
out =new FileOutputStream(file);//形成输出流
int len;
byte b[]=new byte[1024];//缓冲区
while ((len=in.read(b))!=-1) {
for (int i = 0; i < len; i++) {
out.write(b[i]);
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
in.close();
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
* 拷贝文件夹下所有文件
* @source 原路径
* @newpath 新路径
*/
public static void copyDirectiory(String source,String newpath) {
new File(newpath).mkdirs();//创建目录
//获取源文件夹当前下的文件或目录
File files[]=new File(source).listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
// 复制目录
String sourceDir = source + File.separator + files[i].getName();
String targetDir = newpath + File.separator + files[i].getName();
copyDirectiory(sourceDir, targetDir);
}
if (files[i].isFile()) {
// 复制文件
copyFile(String.valueOf(files[i]), newpath + files[i].getName());
}
}
}
}
请问这个为啥复制完了之后test文件夹里只有123文件夹里东西而没有123文件夹啊?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2