10.java拷贝文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.java拷贝文件夹相关的知识,希望对你有一定的参考价值。
文件复制
文件复制步骤:
- 1.建立文件代理->File源文件/File目的文件
- 2.设立管道,建立管道
- 3.数据装箱
- 4.循环读取,循环输出
- 5.关闭流
package 文件夹的拷贝;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/*
* 文件的拷贝
* 1.建立代理->源文件,目标文件
* 2.建立输入输出管道
* 3.数据读写
* 4.关闭流
*/
public class CopyFile {
static void copyfile(String scrpath, String destpath) throws IOException{
copyfile(new File(scrpath), new File(destpath));
}
static void copyfile(File scr,File dest) throws IOException{
if (!scr.exists() ) {
System.out.println("文件不存在");
}else if (!scr.isFile()) {
System.out.println("源目标不是文件");
}
//设立管道
InputStream fin = null;
OutputStream fout = null;
//建立管道
fin = new FileInputStream(scr);
fout = new FileOutputStream(dest);
//数据装箱
byte[] bufferbox = new byte[1024];
int len = 0;
//循环读取
while(-1 != (len = fin.read(bufferbox))){
fout.write(bufferbox, 0, len);
}
//关闭流
fout.flush();
fout.close();
fin.close();
}
}
文件夹拷贝
- 文件夹的拷贝
- 1.文件->直接复制copyfile()
- 2.文件夹->创建mkdir()
- 3.递归查找子孙级
package 文件夹的拷贝;
import java.io.File;
import java.io.IOException;
/*
* 文件夹的拷贝
* 1.文件->直接复制copyfile()
* 2.文件夹->创建mkdir()
* 3.递归查找子孙级
*/
public class CopyDir {
public static void main(String[] args) {
//文件夹路径
String srcpath = "/Users/xiejinhui/documents/MWeb";
String destpath = "/users/xiejinhui/desktop/";
//创建文件
File dirc_src = new File(srcpath);
File dirc_dest = null;
if (dirc_src.isDirectory()) {
dirc_dest = new File(destpath,dirc_src.getName());
}
copydirfile(dirc_src,dirc_dest);
}
private static void copydirfile(File dirc_src, File dirc_dest) {
if (dirc_src.isFile()) {//如果是文件就直接拷贝
try {
CopyFile.copyfile(dirc_src, dirc_dest);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("复制文件失败");
}
}else if (dirc_src.isDirectory()) {//如果是文件夹
//确保目标文件夹存在
dirc_dest.mkdirs();
//获取下一级(如果下一级还有下一级,用for循环递归)
for (File sub :dirc_src.listFiles() ) {
copydirfile(sub, new File(dirc_dest, sub.getName()));
}
}
}
}
- 注意:
拷贝文件夹有两个主要函数,一个重要方法
- 两个函数:1. 文件拷贝 2. 文件夹创立
- 一个重要方法:递归
以上是关于10.java拷贝文件夹的主要内容,如果未能解决你的问题,请参考以下文章