代码:
@Test public void homework2() throws IOException, InterruptedException { FileReader fileReader=null; FileWriter fileWriter=null; try { File file = new File("a.txt"); File file2 = new File("c.txt"); fileReader = new FileReader(file); fileWriter = new FileWriter(file2); Map<Character,Integer> map = new HashMap<>(); int b ; Character key ; Integer num=1; while ((b=fileReader.read())!=-1){ key = (char)b; if(map.containsKey(key)){ num= map.get(key); map.put(key,num+1); }else { map.put(key,num); } } for (Character ky:map.keySet()) { switch (ky){ case ' ': fileWriter.write("空字符串出现"+map.get(ky)+"次\n"); break; case '\t': fileWriter.write("tab键出现"+map.get(ky)+"次\n"); break; case '\n': fileWriter.write("换行出现"+map.get(ky)+"次\n"); break; case '\r': fileWriter.write("回车出现"+map.get(ky)+"次\n"); break; default: fileWriter.write(ky+"出现"+map.get(ky)+"次\n"); break; } } } catch (IOException e) { e.printStackTrace(); } finally { if (fileReader!=null) fileReader.close(); if(fileWriter!=null) fileWriter.close(); } read2(); } public void read2() throws IOException { FileReader fileReader3 = null; try { File file3 = new File("c.txt"); fileReader3 = new FileReader(file3); char[] cbuf = new char[5]; int len; while ((len=fileReader3.read(cbuf))!=-1){ System.out.print(new String(cbuf,0,len)); } } catch (IOException e) { e.printStackTrace(); } finally { if(fileReader3!=null) fileReader3.close(); } }```