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

  •  需求: 读取当前项目下的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();
		
	}

}

相关文章:

  • 2022-12-23
  • 2021-08-18
  • 2021-11-23
  • 2022-01-20
  • 2022-12-23
  • 2021-07-22
  • 2022-03-07
  • 2022-01-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案