Java课程设计
简单实现io流复制文件夹
DAY2
package JFrameChat;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
public class Copy {
public static void main(String[] args) {
File f = new File("/Users/ZhengShaoru/Desktop/first");
//复制文件夹为first,“绝对路径”
new Copy().getFile(f);
}
public void getFile(File f){
String str = f.getParent(); //获取f的父路径
File ff = new File("/Users/ZhengShaoru/Desktop/"+str);
ff.mkdirs(); //建立多级文件夹
if(f.isFile()){
//isFile()判断是否为文件 isDictionary()判断是否为文件夹
// 输入输出流
InputStream in;
FileOutputStream out;
in = null;
out = null;
try {
in = new FileInputStream(f);
// 字节流->文件字节流
out = new FileOutputStream(new File(ff,f.getName()));
byte[] b = new byte[1024];
//定义一个字节型数组,每次读取1024个字节
int len = 0;
while ((len = in.read(b)) != -1) {
//定义每次读取文件存入数组的长度len,判定数组是否为空
out.write(b,0,len);
}
} catch (Exception e) {
}finally{
try{
if(out != null){
out.flush(); //清空缓存
out.close(); //记得关闭io
}
if(in != null){
in.close();
}
}catch(Exception e){
}
}
}else{
File[] fs = f.listFiles();
for(int i = 0; i
getFile(fs[i]); //递归调用getFile()
}
}
}
}
文件夹路径:macbook适用有一点点的小 bug,具体解决方案明天贴
windows可替换相应的路径
标签:io,复制,JavaIO,文件夹,File,import,new,out
来源: https://blog.csdn.net/weixin_43112903/article/details/94475924