关于使用IO复制一个文件的问题,用的递归方法做的.

Juweer_ni 2016-12-08 11:39:58
public class Demo07 {
//定义一个方法,输入两个路径
public void IOCopy(String path, String path1) {
//定义两个文件
File file = new File(path);
File file1 = new File(path1);
//如果输入的文件不存在,输出不存在
if (!file.exists()) {
System.out.println(file.getName() + "文件不存在");
} else {
System.out.println("存在");
}
//定义一个byet型数组,接收这个文件
byte[] b = new byte[(int) file.length()];
//如果这个文件是一个文件
if (file.isFile()) {
try {
FileInputStream is = new FileInputStream(file);
FileOutputStream ps = new FileOutputStream(file1);
is.read(b);
ps.write(b);
} catch (Exception e) {
e.printStackTrace();
}
} else if (file.isDirectory()) {
if (!file.exists())
file.mkdir();
String[] list = file.list();
for (int i = 0; i < list.length; i++) {
this.IOCopy(path + "/" + list[i], path1 + "/" + list[i]);
}
}
}
public static void main(String args[]) {

new Demo07().IOCopy("D:\\device", "D:\\TDDOWNLOAD");
}
}


其中,这里不是很明白
else if (file.isDirectory()) {
if (!file.exists())
file.mkdir();
String[] list = file.list();
这里明明可以确定文件是一个文件夹了,为什么还在判断下文件不存在if (!file.exists()),而且也没什么内容,file.mkdir();,这句话也不是很明白,在这里创建一个文件夹是什么意思?
...全文
196 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
萧乡月夜 2016-12-09
  • 打赏
  • 举报
回复
引用 2 楼 aqzwss 的回复:

} else if (file.isDirectory()) {
} else if (file1.isDirectory()) {
萧乡月夜 2016-12-09
  • 打赏
  • 举报
回复

} else if (file.isDirectory()) {
萧乡月夜 2016-12-09
  • 打赏
  • 举报
回复
感觉是写错了,应该是

if (!file1.exists())
                file1.mkdir();

62,628

社区成员

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

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