A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

需求:
已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
=================================================
  1. package com.heima.test_kaoshi;

  2. import java.io.BufferedReader;
  3. import java.io.BufferedWriter;
  4. import java.io.FileReader;
  5. import java.io.FileWriter;
  6. import java.io.IOException;
  7. import java.util.Comparator;
  8. import java.util.TreeSet;

  9. public class Test11 {

  10.         /**
  11.          * 5、 已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,
  12.          *                 并按照自然顺序排序后输出到b.txt文件中。即b.txt中的文件内容应为“abcd…………..”这样的顺序。
  13.          *
  14.          * 分析:
  15.          * 创建输入流,读取文件内容
  16.          * 将字符串内容通过,TreeSet实现
  17.          * @throws IOException
  18.          */
  19.         public static void main(String[] args) throws IOException {
  20.                
  21.                 //创建输入流
  22.                 BufferedReader br = new BufferedReader(new FileReader("a.txt"));
  23.                 String line;
  24.                 while ((line = br.readLine())!=null){
  25.                        
  26.                         String s = line;
  27.                         //创建集合对象
  28.                         TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
  29.                                 @Override
  30.                                 public int compare(Character c1, Character c2) {
  31.                                         int num = c1.compareTo(c2);
  32.                                         return num == 0?1:num;
  33.                                 }
  34.                         });
  35.                         for (int i = 0; i < s.length(); i++) {
  36.                                 ts.add(s.charAt(i));
  37.                         }

  38.                         //创建输出流
  39.                         BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
  40.                         for (Character c : ts) {
  41.                                 System.out.print(c);
  42.                                 bw.write(c);
  43.                         }
  44.                         System.out.println();
  45.                         bw.close();
  46.                        
  47.                 }
  48.                 br.close();
  49.                 System.out.println("好了");
  50.                
  51.                
  52.         }

  53.         public static void demo() {
  54.                 TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>(){
  55.                         @Override
  56.                         public int compare(Character c1, Character c2) {
  57.                                 int num = c1.compareTo(c2);
  58.                                 return num == 0?1:num;
  59.                         }
  60.                 });
  61.                 String s = "bcdeadferwplkou";
  62.                 for (int i = 0; i < s.length(); i++) {
  63.                         ts.add(s.charAt(i));
  64.                 }
  65.                 System.out.println(ts);
  66.         }

  67. }
复制代码

1 个回复

倒序浏览
你下面抽离的方法不直接用   又写了一遍代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马