• 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();
    		
    	}
    
    }
    
    
  • 相关阅读:
    vue自定义指令directive
    vue组件:input数字输入框
    vue中用数组语法绑定class
    vue中检测数组改变
    node绝对和相对模块
    判断拖放
    媒体查询 和rem布局
    JSON字符串对象相互转换
    深度封装typeof判断
    类数组
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772522.html
Copyright © 2020-2023  润新知