代码:
@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();
}
}```