【253天】我爱刷题系列(12)

叨叨两句

  1. 知识的海洋里,没有地图,你就会迷路,而脑图就是这个地图。

题25:文件读写去重排序

题目要求

  1. itcast.txt文件中存储了多行数字(每行一个数字(0 - 9 ))
  2. 读取每行的数字,将结果打印到控制台。
  3. 将文件中读取出的数字进行去重操做,将结果打印到控制台。
  4. 将去重后的数字按照由小到大的方式进行排列,并将排列后的结果打印到控制台。
  5. 将排序后的结果按行存储,按行存储,按行存储(重要事情说三遍,须要换行)到itcast_copy.txt文件中。java

提示

逻辑在Demo类的main函数中实现;
例如itcast.txt中按行存储了 9,2,5,2,6,5,4,9
打印的结果:函数

第一行--> 初始: 9 2 5 2 6 5 4 9 
 第二行--> 去重: 9 2 5 6 4 
 第三行--> 排序: 2 4 5 6 9
package com.heima_IO;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TreeSet;

public class Demo1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new FileReader(new File("itcast.txt")));
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File("itcast_copy.txt")));
        String line;
        TreeSet<Integer> ts = new TreeSet<>();
        String startStr = "初始:";
        while((line = br.readLine()) != null) {
            ts.add(Integer.parseInt(line));
            startStr += line + " ";
        }
        startStr = startStr.trim();
        
        String distinctStr = "去重: ";
        String sortStr = "排序: ";

        for(int i : ts) {
            distinctStr += i + " ";
            sortStr += i + " ";
            bw.write("" + i);
            bw.newLine();
        }
        
        br.close();
        bw.close();
        
        System.out.println(startStr);
        System.out.println(distinctStr);
        System.out.println(sortStr);
        
    }
    
            
}