Предполагая, что вы можете получить считыватель
StringReader in = new StringReader(
"Patrick, Gary, Male, Blue, 1/28/1948\n" +
"Carson, Larry, Male, Pink, 11/24/1976\n" +
"Fisher, Paul, Male, Orange, 5/12/1995");
вы можете читать его построчно с помощью буферизованного считывателя и использовать список для накопления строк
List<String[]> splitLines = new ArrayList<String[]>();
try {
BufferedReader lineIn = new BufferedReader(in);
for (String line; (line = lineIn.readLine()) != null;) {
String[] lineParts = line.split(",");
// Maybe check that lineParts has the right length here.
splitLines.add(lineParts);
}
} finally {
in.close();
}
, затем вы можете конвертироватьсписок в двумерный массив.
String[][] linesArray = splitLines.toArray(new String[][] {});
, который затем можно отсортировать с помощью пользовательского компаратора.
Array.sort(linesArray, new Comparator<String[]>() {
public int compare(String[] linea, String[] lineb) {
... // the date should be in linea[4] and lineb[4].
}
})();