需求:
已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
=================================================
- package com.heima.test_kaoshi;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.util.Comparator;
- import java.util.TreeSet;
- public class Test11 {
- /**
- * 5、 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,
- * 并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
- *
- * 分析:
- * 创建输入流,读取文件内容
- * 将字符串内容通过,TreeSet实现
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
-
- //创建输入流
- BufferedReader br = new BufferedReader(new FileReader("a.txt"));
- String line;
- while ((line = br.readLine())!=null){
-
- String s = line;
- //创建集合对象
- TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
- @Override
- public int compare(Character c1, Character c2) {
- int num = c1.compareTo(c2);
- return num == 0?1:num;
- }
- });
- for (int i = 0; i < s.length(); i++) {
- ts.add(s.charAt(i));
- }
- //创建输出流
- BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
- for (Character c : ts) {
- System.out.print(c);
- bw.write(c);
- }
- System.out.println();
- bw.close();
-
- }
- br.close();
- System.out.println("好了");
-
-
- }
- public static void demo() {
- TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
- @Override
- public int compare(Character c1, Character c2) {
- int num = c1.compareTo(c2);
- return num == 0?1:num;
- }
- });
- String s = "bcdeadferwplkou";
- for (int i = 0; i < s.length(); i++) {
- ts.add(s.charAt(i));
- }
- System.out.println(ts);
- }
- }
复制代码
|
|