У меня есть текстовый файл, содержащий информацию об учениках, и он имеет 5 столбцов: ID, FName, LName, Возраст, Оценка.
Я хочу отсортировать строки файла по оценкам ученика, но это не работает. Вот мой метод:
public static void sortAndShow() throws Exception {
ArrayList list = new ArrayList();
BufferedReader reader = new BufferedReader(new FileReader(originalFile));
String str = reader.readLine();
while (str != null) {
String[] detailsSt = str.split(" ");
int id = Integer.parseInt(detailsSt[0]);
String name = detailsSt[1];
String lastname = detailsSt[2];
int age = Integer.parseInt(detailsSt[3]);
int grade = Integer.parseInt(detailsSt[4]);
list.add(new Student(id, name, lastname, age, grade));
str = reader.readLine();
}
Collections.sort(list, new gradeCompare());
PrintWriter writer = new PrintWriter(new FileWriter(sortedFile, false));
for (Student st : students) {
writer.write((st.getStNum() + " " + st.getFirstName() + " " + st.getLastName() + " " + st.getAge() + " " + st.getGrade() + "\n"));
}
reader.close();
writer.close();
}
И мой внутренний класс, который выполняет процесс сравнения:
static class gradeCompare implements Comparator {
@Override
public int compare(Student o1, Student o2) {
return o2.getGrade() - o1.getGrade();
}
}
Мой текстовый файл перед сортировкой:
101 Jeff King 18 12
102 Tim Woods 17 19
Но после сортировки запишите то же содержимое в новый файл:
101 Jeff King 18 12
102 Tim Woods 17 19
Я хочу, чтобы после сортировки мой текстовый файл выглядел следующим образом (последний столбец — это оценка):
102 Tim Woods 17 19
101 Jeff King 18 12
Чтение строк из файла, сортировка строк по одному полю и запись в файл ⇐ JAVA
Программисты JAVA общаются здесь
1777096921
Anonymous
У меня есть текстовый файл, содержащий информацию об учениках, и он имеет 5 столбцов: ID, FName, LName, Возраст, Оценка.
Я хочу отсортировать строки файла по оценкам ученика, но это не работает. Вот мой метод:
public static void sortAndShow() throws Exception {
ArrayList list = new ArrayList();
BufferedReader reader = new BufferedReader(new FileReader(originalFile));
String str = reader.readLine();
while (str != null) {
String[] detailsSt = str.split(" ");
int id = Integer.parseInt(detailsSt[0]);
String name = detailsSt[1];
String lastname = detailsSt[2];
int age = Integer.parseInt(detailsSt[3]);
int grade = Integer.parseInt(detailsSt[4]);
list.add(new Student(id, name, lastname, age, grade));
str = reader.readLine();
}
Collections.sort(list, new gradeCompare());
PrintWriter writer = new PrintWriter(new FileWriter(sortedFile, false));
for (Student st : students) {
writer.write((st.getStNum() + " " + st.getFirstName() + " " + st.getLastName() + " " + st.getAge() + " " + st.getGrade() + "\n"));
}
reader.close();
writer.close();
}
И мой внутренний класс, который выполняет процесс сравнения:
static class gradeCompare implements Comparator {
@Override
public int compare(Student o1, Student o2) {
return o2.getGrade() - o1.getGrade();
}
}
Мой текстовый файл перед сортировкой:
101 Jeff King 18 12
102 Tim Woods 17 19
Но после сортировки запишите то же содержимое в новый файл:
101 Jeff King 18 12
102 Tim Woods 17 19
Я хочу, чтобы после сортировки мой текстовый файл выглядел следующим образом (последний столбец — это оценка):
102 Tim Woods 17 19
101 Jeff King 18 12
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия