zoukankan      html  css  js  c++  java
  • Day_13【IO流】扩展案例1_读取项目文件内容并去重

    分析以下需求,并用代码实现:

    •  需求: 读取当前项目下的info1.txt
       	文件内容如下 : aaaaaaaaaaabbbbbbbbbbbbccdefg
       	要求将数据去重后写回最终效果 : fgdebca
      

    思路

    •  1.创建HashSet集合对象用于存储读取到的每一个字符(用于去重)
       2.创建字节输入流对象
       3.将读取到的字符存储到集合中
       4.创建输入流对象关联目标文件
       5.遍历Set集合获取到每一个数据, 并调用write方法写出
       6.关闭流释放资源
      

    代码

    package com.itheima;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.HashSet;
    import java.util.Iterator;
    
    public class Test1 {
    	public static void main(String[] args) throws IOException {
    		//创建HashSet集合对象用于存储读取到的每一个字符(用于去重)
    		HashSet<Character> set = new HashSet<Character>();
    		
    		//创建字节输入流对象
    		FileInputStream fis = new FileInputStream("/Users/zhaozhuang/Downloads/develop/subject/day13-IO流/homework/day13作业答案/TestDay13/info1.txt");
    
    		//将读取到的字符存储到集合中
    		int len;
    		while((len = fis.read()) != -1) {
    			set.add((char) len);
    		}
    		
    		//创建输入流对象关联目标文件
    		FileOutputStream fos = new FileOutputStream("/Users/zhaozhuang/Downloads/develop/subject/day13-IO流/homework/day13作业答案/TestDay13/info1.txt");
    		
    		//遍历Set集合获取到每一个数据, 并调用write方法写出
    		Iterator<Character> it = set.iterator();
    		while(it.hasNext()) {
    			char c = it.next();
    			fos.write(c);
    		}
    		
    		//释放资源
    		fis.close();
    		fos.close();
    		
    	}
    
    }
    
    
  • 相关阅读:
    Fiddler-常用技巧
    Fiddler-工作原理
    C语言-EOF和feof()判断文件结尾的区别
    C语言-一个fopen函数中未使用二进制模式(b)引发的血案
    VIM-不常用或不知道的技巧
    C语言-srand种子详解
    C语言-字符串操作函数
    C语言-Makefile经典教程(掌握这些足够)
    分布拟合——正态/拉普拉斯/对数高斯/瑞利 分布
    曲线拟合——(2)拉普拉斯/瑞利/对数正态 曲线
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772522.html
Copyright © 2011-2022 走看看