IO流拷贝文件和目录
程序员文章站
2022-06-28 16:25:21
使用IO流来复制文件的练习这里关键是使用了一个递归的方法import java.io.*;public class CopyAll { public static void main(String[] args) { //拷贝源 File srcfile=new File("F:\\EV\\one"); //拷贝位置 File destfile=new File("F:\\EV\\two"); copy(srcf...
使用IO流来复制文件的练习
这里关键是使用了一个递归的方法
import java.io.*;
public class CopyAll {
public static void main(String[] args) {
//拷贝源
File srcfile=new File("F:\\EV\\one");
//拷贝位置
File destfile=new File("F:\\EV\\two");
copy(srcfile,destfile);
}
private static void copy(File srcfile,File destfile){
if(srcfile.exists()){//判断路径是否存在
if(srcfile.isFile()){//判断源文件是否是一个文件
//创建文件字节流(万能流)
FileInputStream fis=null;
FileOutputStream fos=null;
try {
fis=new FileInputStream(srcfile);
fos=new FileOutputStream(destfile.getAbsoluteFile()+"//"+srcfile.getName());
//每秒1mb的速度复制
byte[] bytes=new byte[1024*1024];
int readDate=0;
while ((readDate=fis.read(bytes))!=-1){
//边读边写
fos.write(bytes,0,readDate);
}
fos.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}return;
}else{
//如果为目录的话获取目录下的所有子文件
File[] files=srcfile.listFiles();
for (File f:files) {
//遍历判断是否是子文件下是否有目录
if(f.isDirectory()){
//有目录的话就获取目录的路径
String desDir=destfile.getAbsolutePath()+"\\"+f.getName();
//这里创建一个新的目录文件夹
File newFile=new File(desDir);
if(!newFile.exists()){
newFile.mkdir();
}//然后使用递归获取下一个目录的文件
copy(f,newFile);
}else {//如果是文档的话递归直接复制出来
copy(f,destfile);
}
}
}
}else{
System.out.println("路径错误!!!!");
}
}
}
本文地址:https://blog.csdn.net/w1256466374/article/details/112017334
上一篇: 羊肉汤为什么会变黄
推荐阅读
-
Linux学习笔记(二):文件目录管理和VIM编辑器的使用
-
在Linux系统上加密文件和目录的教程
-
Python中的文件和目录操作实现代码
-
Python中使用glob和rmtree删除目录子目录及所有文件的例子
-
Python和perl实现批量对目录下电子书文件重命名的代码分享
-
Asp.Net 文件操作基类(读取,删除,批量拷贝,删除,写入,获取文件夹大小,文件属性,遍历目录)
-
PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧
-
CDR导出文件时没有格式选项和储存目录选项怎么解决?
-
Android中文件读写(输入流和输出流)操作小结
-
详解Linux中查找目录和文件的find和locate命令