JAVA读取文件夹大小的几种方法实例

如题所述

import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;

public class Test {

public static void main(String[] args) throws Exception {
String searchStr = "APPTYPEID";
File searchDir = new File("D:\\xampp\\htdocs\\discuz");
List<Search> list = new ArrayList<Search>();
Collection<File> files = FileUtils.listFiles(searchDir, null, true);
List<String> lines = null;
for (File file : files) {
lines = FileUtils.readLines(file);
for (int i = 0; i < lines.size(); i++) {
if (lines.get(i).indexOf(searchStr) != -1) {
Search s = new Search();
s.setFilename(file.getName());
s.setLine(i + 1);
s.setContent(lines.get(i));
list.add(s);
}
}
}
StringBuffer sb = new StringBuffer();
for (Search s : list) {
sb.append(s.getFilename() + " , " + s.getLine() + " , " + s.getContent()).append(
IOUtils.LINE_SEPARATOR);
}
FileUtils.writeStringToFile(new File("D:\\search.txt"), sb.toString(), "UTF-8");
}
}

class Search {
private String filename;
private int line;
private String content;

public String getFilename() {
return filename;
}

public void setFilename(String filename) {
this.filename = filename;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

public void setLine(int line) {
this.line = line;
}

public int getLine() {
return line;
}

}
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答