2

我正在尝试将日期从最早到最晚进行排序。我正在考虑使用 bufferedreader 并尝试搜索字符串的前 2 个字符,然后是第 4 和第 5 个字符,最后是第 7 和第 8 个字符,忽略斜杠。

以下是我拥有的文本文件的示例:

04/24/2010 - 2000.0(存款)

09/05/2010 - 20.0(费用)

2007 年 2 月 30 日 - 600.0(存款)

06/15/2009 - 200.0(费用)

2010 年 8 月 23 日 - 300.0(存款)

06/05/2006 - 500.0(费用)

4

3 回答 3

2

如何使用 Java 对文本文件中的记录进行排序?

这与使用SimpleDateFormatin将您的日期更改为所需的格式相结合,getField(String line)应该可以让您继续前进。

于 2010-04-12T18:24:41.850 回答
0

文件有多大?我会阅读每一行,为每一行创建一个日期对象,然后调用Collections.sort(list<myobjectwithdate>)

Date 提供了一个比较器,因此您可以非常轻松地将所有内容存储在内存中,对其进行排序,然后将其写回文件。

class LineAndDate implements Comparable{
  private Date date;
  private String line;

  public int compareTo( Object other )
  {
    return date.compareTo( ((LineAndDate)other).date;
  }

}

将 a 存储List<LineAndDate>在内存中,然后您应该能够调用Collections.sort(myList)和编写它。

于 2010-04-12T18:19:48.283 回答
0

使用SimpleDateFormat将日期更改为所需的格式,然后对其进行排序。

于 2010-04-12T18:20:08.767 回答