Java递归文件夹读取文件,读取文件内容到list 。
path:如 D:\documents\test ;../data/resource
public static void loadFiles(String path, List<String> list, String encoding) {
if(path == null || "".equals(path)){
return;
}
File file = new File(path);
File[] files = file.listFiles();
if(files != null && files.length > 0){
for(File f : files){
//若是文件夹,递归
if(f.isDirectory()){
loadFiles(f.getPath(), list, encoding);
}else{
//若非json文件,跳过
if(!f.getName().endsWith(".json")){
continue;
}
FileInputStream fs = null;
BufferedReader br = null;
try {
fs = new FileInputStream(f);
if(fs != null){
br = new BufferedReader(new InputStreamReader(fs, encoding));
String lines = "";
for (String line = br.readLine(); line != null; line = br.readLine()) {
if(line != null && !"".equals(line)){
lines += line;
}
}
list.add(lines);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(br != null){
br.close();
}
if(fs != null){
fs.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
//f.delete();
}
}
}
}