java用流读取text文件内容,在采用set集合进行去重,最后同样把数据写出text文件

 //读取本地目录的文件
 FileInputStream fis=new FileInputStream("E:\\资料\\stopWord.txt");
 //设置字符编码格式
 InputStreamReader isr=new InputStreamReader(fis, "UTF-8");
 //读取文件
 BufferedReader br = new BufferedReader(isr);
 //采用set   对text 文件内容进行去重
 Set set = new HashSet();
 String tempStr;
 //一行行读取文件
 while ((tempStr = br.readLine()) != null) {
     //把每一行读取出来的数据放到set里面    我用来读取 分词需要的词
     set.add(tempStr);
 }
  //写出的目标路径
 File file3 = new File("d:\\readFileText.txt");
 //设置写出的字符格式
 OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(file3),"UTF-8"); 
 BufferedWriter oos = new BufferedWriter(osw);
 Iterator<String> it = set.iterator();
 //新建set  是为了对比写出数据和上面set读取进来的数据是否一致
 Set set3 = new HashSet();
 while (it.hasNext()) {
     //同样也是一个个的读取
     String str = it.next();
     set3.add(str);
     //读取一个写出一个 设置字符格式  我这边需要换行
     oos.write(new String(str.getBytes(), StandardCharsets.UTF_8) +"\n");
 }
 // 写出完毕  把流关闭  不然会报错  流的关闭顺序:先打开的后关,后打开的先关
 // 否则有可能出现java.io.IOException: Stream closed异常
 oos.close();
 br.close();
 isr.close();
 fis.close();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值