java读入文本文档后怎么在“|”符号后面的数字并进行排序,并存入新的文件中

我的数据是这样的A|3000B|5000C|1000D|2000E|9000F|6000先读取文本文档,然后对文档中的内容再进行排序“|”后面的数字,再存入新的文本文档... 我的数据是这样的
A|3000
B|5000
C|1000
D|2000
E|9000
F|6000
先读取文本文档,然后对文档中的内容再进行排序“|”后面的数字,再存入新的文本文档
展开
 我来答
hitzsf
2018-07-16 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1165万
展开全部
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class SortStringDemo {

  public static void main(String[] args) {
    String[] strings = { "A|3000", "B|5000", "C|1000 ", "D|2000 ", "E|9000 ", "G|6000", "F|60001" };
    List<String> list = new ArrayList<>();
    for (int i = 0; i < strings.length; i++) {
      list.add(strings[i].trim());
    }
    // sub字符串,再使用Integer.comparTo() 如:1 2 11 这种数字大小排序
    Collections.sort(list, new Comparator<String>() {
      @Override
      public int compare(String o1, String o2) {
        Integer n1 = Integer.valueOf(o1.substring(o1.indexOf("|") + 1, o1.length()));
        Integer n2 = Integer.valueOf(o2.substring(o2.indexOf("|") + 1, o2.length()));
        return n1.compareTo(n2);
      }
    });
    System.out.println("按照数字大小排序:\t" + list);

    // sub字符串,再使用String.comparTo() 如:1 11 2 这种按照字符串序号排序
    Collections.sort(list, new Comparator<String>() {
      @Override
      public int compare(String o1, String o2) {
        String string1 = o1.substring(o1.indexOf("|") + 1, o1.length());
        String string2 = o2.substring(o2.indexOf("|") + 1, o2.length());
        return string1.compareTo(string2);
      }
    });
    System.out.println("按照子串排序:\t" + list);
  }
}
追问
你好,请问怎么读取文本文档和存入呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式