Написал сортировку строк в текстовом файле с выводом в новый текстовый файл. Сортировка по 4 элементу строки. Столкнулся с проблемой, что первая строка в списке не сдвигается с места, остальные сортируются.
Каждая строка в текстовом файле начинается с СП1#, после #идет фамилия.
Заметил, что если поменять # на любой текстовый символ, то сортируется нормально.
Подскажите, в чем может быть проблема?
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
//считываем имя исходного файла
System.out.println("Введите адрес входящего файла.");
String fileNameIn = reader.readLine();
//считываем с файла в ArrayList
BufferedReader fileReader = new BufferedReader(new FileReader(fileNameIn));
ArrayList<String> list=new ArrayList<>();
while (fileReader.ready()) {
String in= fileReader.readLine();
list.add(in);
}
//сортируем пузырьком по 4 элементу в строке
String temp;
for (int i = list.size()-1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
if (list.get(j).codePointAt(4)>list.get(j+1).codePointAt(4)) {
temp = list.get(j);
list.set(j, list.get(j+1));
list.set(j+1, temp);
}
}
}
//считываем имя файла для вывода
System.out.println("Введите адрес исходящего файла.");
String fileNameOut= reader.readLine();
//записываем в файл
BufferedWriter fileWriter=new BufferedWriter(new FileWriter(fileNameOut));
for (String s: list
) {
fileWriter.write(s+System.lineSeparator());
}
//закрываем потоки
reader.close();
fileReader.close();
fileWriter.close();
}