import java.io.*;
import java.util.ArrayList;
import java.io.File;
import java.util.ArrayList;
public class MergeFile {
public static void main(String[] args) {
File dir = new File("C:\\Users\\fhh\\Desktop\\sx\\investor");
long time = System.currentTimeMillis();
File newFile = new File("d:\\" + time + ".txt");
ArrayList<File> list = FileFilter(dir, ".html");
for (File file : list) {
appendNewFile(file, newFile);
}
System.out.println("times: " + (System.currentTimeMillis() - time));
}
public static ArrayList<File> FileFilter(File dir, String endStr) {
ArrayList<File> list = new ArrayList<File>();
if (!dir.isDirectory() || dir == null) {
return list;
}
FileFilter(dir, endStr, list);
return list;
}
private static void FileFilter(File dir, String endStr, ArrayList<File> arrayList) {
File[] list = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File pathName) {
if (pathName.isFile() && pathName.getName().endsWith(endStr)) {
return true;
} else if (pathName.isDirectory() && !pathName.isHidden()) {
FileFilter(pathName, endStr, arrayList);
}
return false;
}
});
for (File file : list) {
arrayList.add(file);
}
}
public static void appendNewFile(File file, File newFile) {
try {
FileInputStream fis = new FileInputStream(file);
FileWriter writer = new FileWriter(newFile, true);
InputStreamReader isr = new InputStreamReader(fis, "utf-8");
BufferedReader br = new BufferedReader(isr);
StringBuffer sb = new StringBuffer();
String str;
while ((str = br.readLine()) != null) {
sb.append(str + "\r\n");
}
writer.write(sb.toString());
writer.flush();
br.close();
isr.close();
fis.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
用java写的文件合并
最新推荐文章于 2024-08-05 04:53:39 发布