Буферный считыватель, вызывающий бесконечный цикл

-6

В настоящее время я делаю тестовый проект, чтобы понять, как читать/записывать в текстовый файл. Это мой код:

package testings;
import java.util.Scanner;
import java.io.*;

public class Writing_Reading_files {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
File testFile = new File("testFile.dat");
String test, sName;
try{
PrintWriter print = new PrintWriter(new BufferedWriter(new FileWriter(testFile)));
test = in.nextLine();
print.println(test);
print.close();
}catch(IOException e) {
System.out.println("IO exception");
System.exit(0);
}

try {
BufferedReader readerName = new BufferedReader(new FileReader(testFile));
while(readerName != null) {
sName = readerName.readLine();
System.out.println(sName);
}
readerName.close();
} catch(FileNotFoundException e) {

System.out.println("FileNotFound");
System.exit(0);
} catch(IOException e) {
System.out.println("IO exception");
System.exit(0);
}

}

}

Цикл while приводит к выплескиванию строки, которую я положил, затем null для бесконечного цикла, если я пытаюсь использовать While (readerName.readLine! = Null), он останавливает бесконечный цикл, но выводит только нуль, и я не знаю, куда идти оттуда, Я пробовал следовать учебнику по youtube, но у него он такой же, как и у моего кода, поэтому я не уверен, почему я ноль продолжает повторяться. Заранее благодарю за любую помощь.

спросил(а) 2018-02-22T05:03:00+03:00 3 года, 8 месяцев назад
0
91

почему имя readerName станет null? Может быть, вы имеете в виду, что String возвращаемая readLine равна null?

Рассматривать

BufferedReader readerName = new BufferedReader(new FileReader(testFile));
String sName = readerName.readLine();
while(sName != null) {
System.out.println(sName);
sName = readerName.readLine();
}

Также рассмотрите возможность использования try-with-resources при открытии файла.

ответил(а) 2018-02-22T05:07:00+03:00 3 года, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема