按日期排序文本文件 - 日期看起来像DD / MM / YYYY

时间:2010-04-12 18:17:13

标签: java sorting bufferedreader

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

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

04/24/2010 - 2000.0(存款)

09/05/2010 - 20.0(费用)

02/30/2007 - 600.0(存款)

06/15/2009 - 200.0(费用)

08/23/2010 - 300.0(存款)

06/05/2006 - 500.0(费用)

3 个答案:

答案 0 :(得分:2)

How do I sort records in a text file using Java?

使用SimpleDateFormat getField(String line)中的{{1}}将您的日期更改为所需格式可以帮助您实现目标。

答案 1 :(得分: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;
  }

}

List<LineAndDate>存储在内存中,然后您应该只能调用Collections.sort(myList)并写下来。

答案 2 :(得分:0)

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