import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
//文件夹复制工具
public class FileCopy {
public static void copyFolderFileB2B(String fromFile, String toFile) {
copyFolderFileB2B(new File(fromFile), toFile);
}
public static void copyFolderFile(String fromFile, String toFile) {
copyFolderFile(new File(fromFile), toFile);
}
public static void copyFolderFile(File fromFile, String toFile) {
//如果为空就copy文件
if (fromFile.isFile()) {
toFile = toFile + "/" + fromFile.getName();
FileWriter toFileWriter = null;
FileReader fromFileReader = null;
BufferedWriter bw = null;
BufferedReader br = null;
try {
toFileWriter = new FileWriter(new File(toFile));
fromFileReader = new FileReader(fromFile);
bw = new BufferedWriter(toFileWriter);
br = new BufferedReader(fromFileReader);
String lineString = null;
String lineSeparator = System.getProperties().getProperty("line.separator");//换行符
while((lineString = br.readLine()) != null) {
bw.write(lineString);
bw.write(lineSeparator);
}
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bw != null) {
bw.close();
}
if (br != null) {
br.close();
}
if (fromFileReader != null) {
fromFileReader.close();
}
if (toFileWriter != null) {
toFileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return;
}
File fileTemp = new File(toFile);
if (!fileTemp.exists()) {
fileTemp.mkdir();
}
toFile = toFile + File.separator + fromFile.getName();
if (!new File(toFile).exists()) {
new File(toFile).mkdir();
}
for (File f : fromFile.listFiles()) {
copyFolderFile(f, toFile);
}
}
public static void copyFolderFileB2B(File fromFile, String toFile) {
//如果为空就copy文件
if (fromFile.isFile()) {
toFile = toFile + "/" + fromFile.getName();
FileOutputStream toFileWriter = null;
FileInputStream fromFileReader = null;
BufferedOutputStream bw = null;
BufferedInputStream br = null;
try {
toFileWriter = new FileOutputStream(new File(toFile));
fromFileReader = new FileInputStream(fromFile);
bw = new BufferedOutputStream(toFileWriter);
br = new BufferedInputStream(fromFileReader);
// String lineString = null;
byte[] bytes = new byte[1024];
// String lineSeparator = System.getProperties().getProperty("line.separator");//换行符
while(br.read(bytes) != -1) {
bw.write(bytes);
}
bw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bw != null) {
bw.close();
}
if (br != null) {
br.close();
}
if (fromFileReader != null) {
fromFileReader.close();
}
if (toFileWriter != null) {
toFileWriter.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return;
}
File fileTemp = new File(toFile);
if (!fileTemp.exists()) {
fileTemp.mkdir();
}
toFile = toFile + File.separator + fromFile.getName();
if (!new File(toFile).exists()) {
new File(toFile).mkdir();
}
for (File f : fromFile.listFiles()) {
copyFolderFileB2B(f, toFile);
}
}
}
分享到:
相关推荐
Qt版文件或文件夹拷贝,将指定文件拷贝到指定位置,copyFileToPath拷贝文件copyDirectoryFiles拷贝文件夹
自己用c写的文件夹拷贝,经过VC6.0编译过 自己用c写的文件夹拷贝,经过VC6.0编译过 可以拷贝文件、以及文件夹 可以拷贝文件、以及文件夹 可以拷贝文件、以及文件夹
文件夹拷贝
经常要在服务器上拷贝多个文件夹下的所有资料,此源码将实现在局域网\本地 的文件夹拷贝.
网上好多负责文件夹的进度条写的都有问题,在此基础上,自己修改了一下,进度条可以完美显示出来,另外还加了一个label动态显示拷贝的文件名,用的多线程,里面一些细节大家还是要注意一下的。另外拷贝文件夹是是...
狂龙文件夹拷贝器是一款操作非常简单实用的软件,它是将一个目录内的文件复制到另一个文件夹,包括子目录下的所有文件。
用java实现的文件和文件夹拷贝和转移
完整的俄罗斯方块C#源程序,运行程序时将目录下的images和sounds文件夹拷贝到bin/debug或者bin/Release目录下,否则运行时会找不到文件。
文件夹拷贝 从文件中读取数据到内存,从内存写入到文件(fscanf、fprintf)(fwrite、fread)(wreite、read) 父子进程发送消息
这是一个简单例子,供初学者参考 基于Directory,File的文件操作
C# 文件工具类 实际项目使用 久经考验 文件读写 复制 删除 创建文件夹 判断文件扩展名等等
c语言遍历文件夹
1、直接将“test”文件夹拷贝到c:盘上即可使用。 2、本课件中所有程序都在MATLAB6.1中调试通过. 3、若要使用超级链接直接链接到MATLAB,应将MATLAB软件安装在c:盘上。本课件除第4、5、6、14讲链接 到MATLAB6.1外,...
Qt 遍历拷贝多个文件夹下的制定文件,C++编写, 多线程操作
解压下载的zip包,在得到的eclipse文件夹中,将其中feature和plugins两个文件夹拷贝到eclipse安装目录下的dropins文件夹下,重启eclipse就可以了看到汉化版。 注意一定是dropins文件夹,删除后就可以恢复英文
主要介绍了NodeJS 文件夹拷贝以及删除功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
2.指定一个路径,将其下面(含子文件夹中)的以".txt"结尾的文件移动到指定的另一个路径下;