【发布时间】:2014-03-25 07:08:07
【问题描述】:
我有一个 .csv 文件作为输入。我需要一个 Java 程序来为我读取此文件并根据 csv 中的日期字段生成排序输出。输出文件格式必须为 .xml
我有以下代码,虽然我是 JAVA 新手,请帮忙。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
public class Sort {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new FileReader("data1.csv"));
Map<String, List<String>> map = new TreeMap<String, List<String>>();
String line = reader.readLine();//read header
while ((line = reader.readLine()) != null) {
String key = getField(line);
List<String> l = map.get(key);
if (l == null) {
l = new LinkedList<String>();
map.put(key, l);
}
l.add(line);
}
reader.close();
FileWriter writer = new FileWriter("sorted_numbers.txt");
writer.write("UserID, Module, Mark\n");
for (List<String> list : map.values()) {
for (String val : list) {
writer.write(val);
writer.write("\n");
}
}
writer.close();
}
private static String getField(String line) {
return line.split(",")[0];// extract value you want to sort on
}
}
【问题讨论】:
-
代码中的错误是什么?你可以发布你的控制台输出吗?