• 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();
    		
    	}
    
    }
    
    
  • 相关阅读:
    git命令无法自动补全(sles11.3)
    linux下安装svn出现configure: error: We require OpenSSL; try --with-openssl
    Linux系统下升级Python版本步骤(suse系统)
    git commit --amend
    关于device tree中的interrupts选项
    BufferedInputStream
    FileInputStream
    FileOutputStream
    泛型上下限
    泛型接口
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772522.html
Copyright © 2020-2023  润新知