java复制文件夹到指定目录_详细介绍Java实现文件或文件夹的复制到指定目录的实例...

本篇文章主要介绍了Java实现文件或文件夹的复制到指定目录实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

整理文档,搜刮出一个Java实现文件或文件夹的复制到指定目录的代码,稍微整理精简一下做下分享。import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public class Test {

private static int a = 5;

public static void main(String[] args) {

//需要复制的目标文件或目标文件夹

String pathname = "C:/Users/likun/Desktop/git_project";

File file = new File(pathname);

//复制到的位置

String topathname = "C:/Users/likun/Desktop/movie";

File toFile = new File(topathname);

try {

copy(file, toFile);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void copy(File file, File toFile) throws Exception {

byte[] b = new byte[1024];

int a;

FileInputStream fis;

FileOutputStream fos;

if (file.isDirectory()) {

String filepath = file.getAbsolutePath();

filepath=filepath.replaceAll("\\\\", "/");

String toFilepath = toFile.getAbsolutePath();

toFilepath=toFilepath.replaceAll("\\\\", "/");

int lastIndexOf = filepath.lastIndexOf("/");

toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length());

File copy=new File(toFilepath);

//复制文件夹

if (!copy.exists()) {

copy.mkdir();

}

//遍历文件夹

for (File f : file.listFiles()) {

copy(f, copy);

}

} else {

if (toFile.isDirectory()) {

String filepath = file.getAbsolutePath();

filepath=filepath.replaceAll("\\\\", "/");

String toFilepath = toFile.getAbsolutePath();

toFilepath=toFilepath.replaceAll("\\\\", "/");

int lastIndexOf = filepath.lastIndexOf("/");

toFilepath = toFilepath + filepath.substring(lastIndexOf ,filepath.length());

//写文件

File newFile = new File(toFilepath);

fis = new FileInputStream(file);

fos = new FileOutputStream(newFile);

while ((a = fis.read(b)) != -1) {

fos.write(b, 0, a);

}

} else {

//写文件

fis = new FileInputStream(file);

fos = new FileOutputStream(toFile);

while ((a = fis.read(b)) != -1) {

fos.write(b, 0, a);

}

}

}

}

}


版权声明:本文为weixin_33968957原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。