У меня есть txt-файл «Основной список» со 100 студентами и их информацией, который содержит заголовок «Идентификатор студента, Имя студента, Курс, Оценка», а затем под каждым заголовком есть данные студента, такие как «91, Дональд Шульц». ,COMPSCI 321,87", что соответствует заголовкам выше. Я предполагаю взять существующие данные из основного списка, а затем проанализировать их в 3 отдельных txt-файла csv «course1.txt, Course2.txt и Course3.txt». Используя fileOutputStream. Но я не могу использовать список массивов, список, переключатель, сопоставление. Строго в пределах fileOutputStream, fileinput, objectout и objectinputstream могут вызывать регулярные выражения и сериализоваться.
public void processStudentData() {
Student[] students = readStudentsFromFile();
sortStudentsByCourseAndGrade(students);
// Separate students by course and write to CSV files
try ( FileOutputStream fileOutputStream1 = new FileOutputStream("course1.txt", true);
FileOutputStream fileOutputStream2 = new FileOutputStream("course2.txt", true);
FileOutputStream fileOutputStream3 = new FileOutputStream("course3.txt", true);
BufferedWriter writer1 = new BufferedWriter(new OutputStreamWriter(fileOutputStream1));
BufferedWriter writer2 = new BufferedWriter(new OutputStreamWriter(fileOutputStream2));
BufferedWriter writer3 = new BufferedWriter(new OutputStreamWriter(fileOutputStream3))) {
writer1.write("Student ID,Student Name,Course,Grade\n");
writer2.write("Student ID,Student Name,Course,Grade\n");
writer3.write("Student ID,Student Name,Course,Grade\n");
BufferedWriter writer;
for (Student student : students) {
if (student != null) {
String fileName;
if (student.getCourse().equals("COMPSCI")) {
fileName = "course1.txt";
writer = writer1; // Use writer1 for COMPSCI
} else if (student.getCourse().equals("APMTH")) {
fileName = "course2.txt";
writer = writer2; // Use writer2 for APMTH
} else if (student.getCourse().equals("STAT")) {
fileName = "course3.txt";
writer = writer3; // Use writer3 for STAT
} else {
// Handle unknown courses
continue;
}
writeStudentToTxt(writer, student, fileName);
}
}
} catch (IOException e) {
e.printStackTrace();
Подробнее здесь: https://stackoverflow.com/questions/784 ... v-txt-file
Запись в 3 новых txt-файла CSV из 1 существующего txt-файла CSV [закрыто] ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вызов метода, существующего в дочерних классах, но не существующего в родительском классе.
Anonymous » » в форуме JAVA - 0 Ответы
- 42 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Pip install -r требования.txt [Ошибка 2] Нет такого файла или каталога: 'requirements.txt'
Anonymous » » в форуме Python - 0 Ответы
- 29 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как запустить NetLogo без головы без уже существующего файла .nlogo (начиная с файла .nls)?
Anonymous » » в форуме JAVA - 0 Ответы
- 18 Просмотры
-
Последнее сообщение Anonymous
-