黑马程序员技术交流社区
标题:
IO——批量拷贝文件
[打印本页]
作者:
bowen-xiao
时间:
2015-1-19 20:08
标题:
IO——批量拷贝文件
功能说明:
遍历指定文件夹src目录下,所有的文件夹下的子文件, 找到java类型的文件,统一复制到目标destForder文件夹目录。
代码实现如下:
/**
* ClassName:CopyFileDemo2
* Function: 遍历指定文件夹src目录下,所有的文件夹下的子文件,
* 找到.java文件,统一复制到目标destForder文件夹目录。
* Date: 2015-1-12 下午1:05:31 <br/>
* @author Bowen
* @version
* @since JDK 1.6
* @see
*/
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class CopyFileDemo2 {
public static void main(String[] args) throws IOException {
File srcForder = new File("D:\\workspace\\exam");
File destForder = new File("c:\\test\\");
isFile(srcForder, destForder);
}
private static void isFile(File srcForder, File destForder)
throws IOException {
File[] file = srcForder.listFiles();
for (File srcFile : file) {
// 如果对象为文件夹,则调用自身查找目录下文件
if (srcFile.isDirectory()) {
isFile(srcFile, destForder);
} else {
// 如果对象为文件,看是否为java类型的源文件如果是拷贝文件到指定目录
if (srcFile.getName().endsWith(".java")) {
File destFile = new File(destForder, srcFile.getName());
copyFile(srcFile, destFile);
}
}
}
}
private static void copyFile(File srcFile, File destFile)
throws IOException {
BufferedReader br = new BufferedReader(new FileReader(srcFile));
BufferedWriter bw =
// new BufferedWriter(new FileWriter(destFile)) ;
new BufferedWriter(new OutputStreamWriter(new FileOutputStream(destFile), "UTF-8"));
// 当读到-1时说明已经读完文件
// 设置一个文件缓冲区,一次读1024个字符,再进行输出
// wihile最后一次运行取到文件内部长度进行输出
int lenth = 0;
char[] buff = new char[1024];
while ((lenth = br.read(buff)) != -1) {
bw.write(buff,0,lenth);
}
/* String line = null;
while ((line = br.readLine()) != null) {
bw.write(line);
bw.newLine();
bw.flush();
}*/
br.close();
bw.close();
}
}
复制代码
作者:
qq306149769
时间:
2015-1-19 21:59
复制一下,有时间看看,谢谢分享!
作者:
qq306149769
时间:
2015-1-19 22:02
复制一下,有时间看看,谢谢分享!
作者:
I'can'do'it
时间:
2015-1-19 22:11
不错,拷贝下有时间研究下
作者:
bowen-xiao
时间:
2015-1-20 08:18
注意观察 bw.newLine();写出来的文档比用上面写法,写出来的文件长度要大。
作者:
enjoy
时间:
2015-1-20 09:02
感谢分享,看着不错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2