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读取文件夹中文件,并复制内容到另一个文件中
最新推荐文章于 2024-07-27 08:15:00 发布