У меня есть файл следующим образом:
1 ананас \ n
2 яблока \ n
Я бы хотел отсортировать его, начиная с n-го символа в каждой строке, где будет указано n.
Например, если n = 2, файл должен быть отсортирован как 2 apple \ n 1 ананас \ n, так как 'a' находится перед 'p'
Если n = 4, то отсортированный файл должен быть 1 ананасом \ n 2 яблока \ n, так как 'i' перед 'p'
Как мне этого добиться?
Сортировка по 1-му (0-му) символу работает отлично. Я перехожу по этой ссылке: https://javaconceptoftheday.com/how-to-sort-a-text-file-in-java/
Реализован следующий код:
String inputFile = 'test.txt';
String outputFile = 'output.txt';
FileReader fileReader = new FileReader(inputFile);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String inputLine;
List<String> lineList = new ArrayList<String>();
while ((inputLine = bufferedReader.readLine()) != null) {
lineList.add(inputLine);
}
fileReader.close();
Collections.sort(lineList);
FileWriter fileWriter = new FileWriter(outputFile);
PrintWriter out = new PrintWriter(fileWriter);
for (String outputLine : lineList) {
out.println(outputLine);
}
out.flush();
out.close();
fileWriter.close();
Приведенный выше код работает правильно, однако сортировка, начинающаяся с n-го символа в каждой строке, не реализована.