package ruc.irm.similarity.util; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * 与文件相关的工具类 * * @author <a href="mailto:iamxiatian@gmail.com">夏天</a> * @organization 中国人民大学信息资源管理学院 知识工程实验室 */ public class FileUtils { /** * 根据指定编码从输入流中依次遍历每一行文字 * * @param input * 输入流 * @param encoding * 输入流所用的文字编码 * @param event * 遍历每一行时触发的事件处理 * @throws IOException */ public static void traverseLines(InputStream input, String encoding, TraverseEvent<String> event) throws IOException { BufferedReader in = new BufferedReader(new InputStreamReader(input, encoding)); String line = null; while ((line = in.readLine()) != null) { event.visit(line); } input.close(); in.close(); } /** * 保存字符串到文件中 * @param content * @param fileName * @return */ public static boolean saveStringToFile(String content, String fileName) { boolean rtn = false; BufferedOutputStream out = null; try { File file = new File(fileName); file.getParentFile().mkdirs(); out = new BufferedOutputStream(new FileOutputStream(file)); out.write(content.getBytes("GBK")); out.close(); rtn = true; } catch (Exception e) { System.out.println("saveStringToFile error:" + e.getMessage()); } finally { try { out.close(); } catch (Exception e) { } } return rtn; } public static void main(String[] args) { int count = 0; File dir = new File("G:/juanjuantx"); for(File a:dir.listFiles()){ if(a.isDirectory()){ for(File zy: a.listFiles()){ if(zy.listFiles()!=null) for(File rar:zy.listFiles()){ if(rar.isFile() && rar.getName().endsWith(".rar")){ count++; } } } } } System.out.println(count); } }