围观长知识 为什么只创建目录 不传文件

锅亏灌凉粉 2014-04-19 04:56:15



import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;

public class backPrictic {
public static void main(String[] args) throws IOException {
File file = new File("D:\\10d");
ArrayList<File> list = new ArrayList<File>();
fileList(file, list);
File filenew = new File("E:\\223" + file.getName());
filenew.mkdirs();
new1(list, filenew.getName());
}


public static void fileList(File file, ArrayList<File> list) {
File[] file1 = file.listFiles();
for (File f : file1) {
if (f.isFile()) {
if (f.getName().endsWith(".java"))
list.add(f);
}
if (f.isDirectory()) {
fileList(f, list);
}
}

}


public static void new1(ArrayList<File> list, String name)
throws IOException {
for (File f : list) {
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(name);
byte[] by = new byte[1024];
int data;
while ((data = fis.read(by)) != -1) {
System.out.println(11122222);
fos.write(by, 0, data);
System.out.println(666666);
}

fis.close();
fos.close();

}

}

}
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuhouqingchen_2648 2014-05-18
  • 打赏
  • 举报
回复
FileInputStream fis = new FileInputStream(f); FileOutputStream fos = new FileOutputStream(name); 我认为这个地方无论你打开的还是写入的都是相对路径或者就是你处理路径忽略了“\\”的处理
Z-ero 2014-04-19
  • 打赏
  • 举报
回复

new1(list, filenew.getName());
你这里给new1方法传递的是只是一个文件名,并不是一个路径,在后面写出到文件的时候文件都不存在,也创建不了文件

public static void new1(ArrayList<File> list, String name)
FileOutputStream fos = new FileOutputStream(name);

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧