/** * 查询文本上每个汉字出现的次数 并将结果存入新的文本中 * @param srcFile 需要解析的文本地址 * @param destFile 将结果存储在新的文本地址 */ public void ChineseCharNumberFromText(String srcFile, String destFile) { HashSet<Character> set = new HashSet<>(); List<Character> list = new ArrayList<>(); BufferedReader br = null; BufferedWriter bw = null; try { File file = new File(srcFile); FileReader fis = new FileReader(file); br = new BufferedReader(fis); File file1 = new File(destFile); FileWriter fw = new FileWriter(file1); bw = new BufferedWriter(fw); char[] chars = new char[1024]; int len; while ((len = br.read(chars)) != -1) { for (int i = 0; i < len; i++) { if(isChineseChar(chars[i])) { list.add(chars[i]); set.add(chars[i]); } } } for (Character c : set) { int count = Collections.frequency(list, c); String str = c.toString() + "-->" + count; bw.write(str); bw.newLine(); } } catch (IOException e) { e.printStackTrace(); } finally { try { br.close(); } catch (IOException e) { e.printStackTrace(); } try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } } public static boolean isChineseChar(char c) { return String.valueOf(c).matches("[\u4e00-\u9fa5]"); }
查询文本上每个汉字出现的次数 并将结果存入新的文本中
最新推荐文章于 2023-11-27 14:46:52 发布