Я читаю текстовый файл с пятью частями информации, по одной в каждой строке, для каждого объекта. Без разрывов строк. И с этой информацией я заполняю ее в ArrayList. Оттуда я могу изменить его. Как добавлять новые объекты, удалять и распечатывать группу объектов. Кажется, что эти методы работают, потому что, если я положу строку для печати ArrayList, она напечатает измененный список.Как мне записать файл .txt?
У меня возникли проблемы с сохранением ArrayList в новый .txt-файл. Создается новый файл, но он пуст. Я не уверен, почему, потому что, как я уже сказал, каждый раз, когда вы выбираете метод для изменения моего ArrayList, он возвращает этот новый список.
Способ чтения в .txt-файле.
public void loadData(File fileName) {
Scanner inputFile = null;
try {
inputFile = new Scanner (new File("textImport.txt"));
}
catch (Exception FileNotFoundException) {
System.out.println("ERROR: " + FileNotFoundException.getMessage());
System.exit(1);
}
while (inputFile.hasNext()) {
String fileName = inputFile.nextLine();
String fileGrade = inputFile.nextLine();
String fileMajor = inputFile.nextLine();
int fileYear = Integer.parseInt(inputFile.nextLine());
double fileId = Double.parseDouble(inputFile.nextLine());
Student stu = new Student (fileName , fileGrade , fileMajor ,
fileYear , fileId);
studentList.add(stu) ;
}
}
Моя попытка экспортировать файл.
public void save() {
PrintWriter outputFile = null;
try {
outputFile = new PrintWriter("textExport.txt");
}
catch (IOException e) {
e.printStackTrace();
}
while (inputFile.hasNextLine()) {
String line = inputFile.nextLine();
outputFile.write(line);
outputFile.close();
}
}
В вашем методе 'save' у вас есть ссылка на' inputFile'. Повторно объявлено или это один и тот же объект? – christopher
Почему вы закрываете inputFile и outputFile в цикле while? Разве вы не должны закрываться после цикла? – Marcellus
Я не уверен ... Это было в моих заметках. Я действительно не понимал, почему он был там, когда я набрал его. – trama