Запись в 3 новых txt-файла CSV из 1 существующего txt-файла CSV [закрыто]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Запись в 3 новых txt-файла CSV из 1 существующего txt-файла CSV [закрыто]

Сообщение Anonymous »

У меня есть 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»