我正在尝试将日期从最早到最晚排序。 我正在考虑使用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(费用)
答案 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将日期更改为所需的格式,并对其进行排序。