IO应用——读取文本文件并统计单词个数

读取一共文本文件,统计出其中每一个单词出现的次数,并把结果保存在另外的一个文件中
此处我的文本内容是:i love you,i love you
我就没有保存到另一个文件了,要保存直接用输出流就行了

public static void main(String[] args) throws IOException {
		Reader reader = new FileReader("C:/Users/maple/Desktop/itsourcejava/xx/d.txt");
		Map<String, Integer> map = new HashMap<>();
		//正则不会写,只能写成这样了
		//所有非字母出现一次或多次
		String regex = "[^a-zA-z]+";
		int n;
		//此处有bug,如果此数组长度写小了,结果就不一样
		char[] ch = new char[1024];
		while ((n = reader.read(ch)) != -1) {
			String string = new String(ch, 0, n);
			String[] split = string.split(regex);
			for (String s : split) {
				if (s.length()>=1) {
					if (map.containsKey(s))
						map.put(s, map.get(s)+1);
					 else 
						map.put(s, 1);
				}
			}
		}
		
		System.out.println(map);
		
	}

结果:

{love=2, i=2, you=2}
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值