io流文件夹及文件复制,出现文件夹子文件和文件夹同在一个目录
import java.io.*;
public class FileDirTest01 {
public static void main(String[] args) {
// 拷贝文件夹目录
File in = new File("");
// 拷贝目标(目录)
File out = new File("");
// 调用方法
CopyDir(in, out);
}
/**
* 拷贝文件夹里面文件夹及文件,
* @param in 拷贝文件目录
* @param out 拷贝目标(目录)
*/
private static void CopyDir(File in, File out) {
if(in.isFile()) {
// srcFile如果是一个文件的话,递归结束。
// 是文件的时候需要拷贝。
// ....一边读一边写。
FileInputStream input = null;
FileOutputStream output = null;
try {
// 读这个文件
input = new FileInputStream(in);
// 写文件到新的目录为 out.getAbsolutePath()+"\\"+in.getName()
output = new FileOutputStream(out.getAbsolutePath()+"/"+in.getName());
byte[] bytes = new byte[1024*1024]; //一次复制1M
int readCount = 0;
/**
* 复制文件 一次复制1024*1024字节(1M)
*/
while((readCount = input.read(bytes)) != -1) {
output.write(bytes,0,readCount);
}
output.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (output != null) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return;
}
File[] files = in.listFiles();
for (File file: files) {
if (file.isDirectory()) { //判断是否为文件夹,是
// 新的目录为 out.getAbsolutePath() + "/" + in.getName()
File newDir = new File(out.getAbsolutePath()+"\\"+in.getName());
if (!newDir.exists()) { //判断是否含有此文件夹,否
newDir.mkdirs(); //创建子目录
}
CopyDir(file,newDir);
System.out.println(newDir.getAbsolutePath());
System.out.println(file.getAbsolutePath());
}
// 递归方法CopyDir
CopyDir(file,out);
}
}
}
public class FileDirTest01 {
public static void main(String[] args) {
// 拷贝文件夹目录
File in = new File("");
// 拷贝目标(目录)
File out = new File("");
// 调用方法
CopyDir(in, out);
}
/**
* 拷贝文件夹里面文件夹及文件,
* @param in 拷贝文件目录
* @param out 拷贝目标(目录)
*/
private static void CopyDir(File in, File out) {
if(in.isFile()) {
// srcFile如果是一个文件的话,递归结束。
// 是文件的时候需要拷贝。
// ....一边读一边写。
FileInputStream input = null;
FileOutputStream output = null;
try {
// 读这个文件
input = new FileInputStream(in);
// 写文件到新的目录为 out.getAbsolutePath()+"\\"+in.getName()
output = new FileOutputStream(out.getAbsolutePath()+"/"+in.getName());
byte[] bytes = new byte[1024*1024]; //一次复制1M
int readCount = 0;
/**
* 复制文件 一次复制1024*1024字节(1M)
*/
while((readCount = input.read(bytes)) != -1) {
output.write(bytes,0,readCount);
}
output.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (output != null) {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return;
}
File[] files = in.listFiles();
for (File file: files) {
if (file.isDirectory()) { //判断是否为文件夹,是
// 新的目录为 out.getAbsolutePath() + "/" + in.getName()
File newDir = new File(out.getAbsolutePath()+"\\"+in.getName());
if (!newDir.exists()) { //判断是否含有此文件夹,否
newDir.mkdirs(); //创建子目录
}
CopyDir(file,newDir);
System.out.println(newDir.getAbsolutePath());
System.out.println(file.getAbsolutePath());
}
// 递归方法CopyDir
CopyDir(file,out);
}
}
}
...全文
相关推荐
Java中实现复制文件或文件夹
Java中实现复制文件或文件夹Java中实现复制文件或文件夹Java中实现复制文件或文件夹
java实现一个目录下全部文件复制到另一目录
java实现一个目录下全部文件复制到另一目录。过程主要是 循环第一个目录下的文件,然后输出流到另一个目录。
C#复制文件夹(及文件夹下所有子文件夹和文件)
C#复制文件夹(及文件夹下所有子文件夹和文件),非常好用,用来做文件拷贝系统很实用,可以遍历,另外还有进度条
C#实现复制文件夹中文件到另一个文件夹的方法
本文实例讲述了C#实现复制文件夹中文件到另一个文件夹的方法。分享给大家供大家参考。具体如下: private void CopyDir(string srcPath, string aimPath) { try { // 检查目标目录是否以目录分割字符结束如果不是则添加 if (aimPath[aimPath.Length - 1] != System.IO.Path.DirectorySeparatorChar) { aimPath += System.IO.Path.DirectorySeparatorChar; } // 判断目标目录是否存在如果不存在则新建 if (
java 使用IO流实现文件的复制
java 使用IO流实现文件的复制 java 使用IO流实现文件的复制


Java SE
