package test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
public class test {
public static List<File> getFiles(String path){
File root = new File(path);
List<File> files = new ArrayList<File>();
if(!root.isDirectory()){
files.add(root);
}else{
File[] subFiles = root.listFiles();
for(File f : subFiles){
files.addAll(getFiles(f.getAbsolutePath()));
}
}
return files;
}
public static void main(String[] args) throws IOException {
List<File> files = getFiles("F:\\需要复制的文件夹");
//写入文件,覆盖
File file=new File("G:\\被写入的文件.txt");
OutputStream out=new FileOutputStream(file);
StringBuffer sb = new StringBuffer();
for(File f : files){
String name = f.getName();
/**
* 注意,本代码只复制html css js 文件的内容,如有需要请自行修改
*/
if (f.isFile() && name.endsWith(".html")|| name.endsWith(".css")|| name.endsWith(".js")) {
// 以字节流方法读取文件
FileInputStream fis = null;
try {
fis = new FileInputStream(f);
// 设置一个,每次 装载信息的容器
byte[] buf = new byte[1024];
// 开始读取数据
int len = 0;// 每次读取到的数据的长度
while ((len = fis.read(buf)) != -1) {// len值为-1时,表示没有数据了
// append方法往sb对象里面添加数据
sb.append(new String(buf, 0, len, "utf-8"));
}
} catch (IOException e) {
e.printStackTrace();
}
} else {
System.out.println("文件不存在!");
}
}
byte b[]=sb.toString().getBytes();
out.write(b);
out.close();
}
}
java读取文件夹中文件,并复制内容到另一个文件中
最新推荐文章于 2023-07-24 10:48:57 发布
本文介绍了一个简单的Java程序,用于批量复制指定目录下所有.html、.css和.js文件的内容到一个文本文件中。程序通过递归遍历指定路径下的所有文件,并筛选出目标文件类型进行读取,最终将所有内容整合并写入指定的目标文件。

469

被折叠的 条评论
为什么被折叠?



