我是靠谱客的博主 怕孤单宝马,这篇文章主要介绍使用IO流实现复制有多级目录的文件夹,现在分享给大家,希望可以做个参考。

        解决该问题的重点是如何复制文件夹,这里就需要进行判断,判断要复制的文件是文件夹,还是可直接复制的标准文件(语文不好,描述的有些不清楚,请见谅);

是文件夹的话,则需要封装文件夹的路径,使用listFiles()方法返回抽象路径名数组,该数组内存放的是文件夹内的文件路径,然后对这些文件路径再次进行判断;

如果是可直接复制的标准文件,就直接复制即可。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.io.*; public class CopyDemo { public static void main(String[] args) throws IOException { File file=new File("C:\FileRecv\project1"); File aim=new File("C:\a"); //创建目标文件夹 if(!aim.exists()){ aim.mkdirs(); } judge(file,aim); } public static void judge(File file,File aim) throws IOException{ File[] listFiles = file.listFiles(); for(File ele:listFiles){ //判断是否是可直接复制的文件 if(ele.isFile()){ File file1=new File(aim,ele.getName()); copy(ele,file1); }else { //不是标准文件则需要继续封装该文件夹,递归调用该方法 File aimFolder=new File(aim,ele.getName()); aimFolder.mkdirs(); judge(ele,aimFolder); } } } public static void copy(File file1,File aimF)throws IOException{ FileInputStream in=new FileInputStream(file1); FileOutputStream out=new FileOutputStream(aimF); //模板代码 int len=0; byte[] bytes=new byte[1024]; while((len=in.read(bytes))!=-1){ out.write(bytes,0,len); out.flush(); } in.close(); out.close(); } }

 

 

最后

以上就是怕孤单宝马最近收集整理的关于使用IO流实现复制有多级目录的文件夹的全部内容,更多相关使用IO流实现复制有多级目录内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部