笔试题中常见的文件操作
最近笔试,碰见蛮多文件操作的题目,也没有好好记API,乱写一通。遂整理一下。
遍历文件目录,获取所有文件(包括子目录下的),然后依次读取文件中的内容,并打印出来。
public static void calculateWords(String path) throws IOException{BufferedReader rb = null;try {rb = new BufferedReader(new FileReader(new File(path)));HashMap<String, Integer> words_num = new HashMap<String, Integer>();String line = null;while((line = rb.readLine()) != null){if(line.contains(" ")){String[] words = line.split(" ");for(String word : words){Integer num = words_num.get(word);words_num.put(word, (num == null ? 1 : num+1));}}}Iterator it = words_num.keySet().iterator();while(it.hasNext()){String word = (String)it.next();System.out.println(word + " : " + words_num.get(word));}} catch (FileNotFoundException e) {e.printStackTrace();}finally{rb.close();}}