Java基础--IO练习(统计字符个数、输入输出)

mac2024-01-27  31

统计文本文件中各个字符出现的次数

IO流 public void test(){ FileReader fr = null; FileWriter fw = null; BufferedWriter bw = null; try { File file = new File("D:\\IdeaProjects\\JavaDemo\\Hello.txt"); File file2 = new File("D:\\IdeaProjects\\JavaDemo\\he.txt"); fr = new FileReader(file); fw = new FileWriter(file2); bw = new BufferedWriter(fw); Map<Character,Integer> map = new HashMap<>(); /** * 一个字符一个字符存储 */ int len;//读出来的值 while((len = fr.read()) != -1){ char ch = (char) len; if(map.get(ch) == null){ map.put(ch,1); }else{ map.put(ch,map.get(ch) + 1); } } //对map遍历,写入数据 Set<Map.Entry<Character, Integer>> entries = map.entrySet(); for (Map.Entry<Character, Integer> entry : entries) { switch (entry.getKey()){ case ' ': bw.write("空格:" + entry.getValue()); break; case '\n': bw.write("换行:" + entry.getValue()); break; default: bw.write(entry.getKey() +"="+ entry.getValue()); break; } bw.newLine(); } } catch (IOException e) { e.printStackTrace(); } finally { if(bw != null){ try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } if(fr != null){ try { fr.close(); } catch (IOException e) { e.printStackTrace(); } } } }

控制台输入字母,输出转换成大写

转换流练习 public static void main(String[] args) { BufferedReader br = null; try { br = new BufferedReader(new InputStreamReader(System.in)); while(true){ String data = br.readLine(); if("e".equalsIgnoreCase(data) || "exit".equalsIgnoreCase(data)){ System.out.println("退出程序"); break; } String upperCase = data.toUpperCase(); System.out.println(upperCase); } } catch (IOException e) { e.printStackTrace(); } finally { if(br != null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } }
最新回复(0)