Проблема печати строк файла Java - PullRequest
0 голосов
/ 09 декабря 2018

Я учусь читать и писать в файлах на Java.Сделано много примеров, но в этом конкретном случае у меня возникла проблема, просто не знаю почему, поскольку, насколько я понимаю, ничего не изменилось по сравнению с другими примерами.Может быть, это просто глупая ошибка, которую я не вижу.Файл с именем naval.txt, очевидно, был создан и сохранен в соответствующем источнике.Вот мой код:

public static void main(String[] args) {
        try {
            BufferedReader br = new BufferedReader(new FileReader("naval.txt"));
            String line;

            while (((line = br.readLine()) != null)) {
                Scanner sc = new Scanner(line);
                System.out.println(sc.next());

            }

        } catch (IOException e) {
            e.getMessage();
            System.out.println("Not possible to read the file");
        }

    }

Он даже не читает.Если я запускаю его, он показывает сообщение, которое я написал для «catch (Exception e)».Спасибо большое.

Ответы [ 3 ]

0 голосов
/ 09 декабря 2018

Для полноты вот эквивалентное решение, использующее просто BufferedReader.Как отмечалось в других ответах, вам не нужны ни Scanner, ни BufferedReader.

try {
   BufferedReader br = new BufferedReader(new FileReader("naval.txt"));
   String line;

   while (((line = br.readLine()) != null)) {
      System.out.println(line);
   }
} catch (IOException e) {
   System.out.println("Not possible to read the file");
   e.printStackTrace();
}
0 голосов
/ 09 декабря 2018

Если вы используете java-8, то же самое можно сделать одной строкой:

Files.lines(Paths.get("naval.txt")).forEach(System.out::println);
0 голосов
/ 09 декабря 2018

Вы смешиваете 2 разных способа чтения файла, и результат неверен.Для объекта Scanner нет конструктора, принимающего в качестве параметра строку.Просто используйте Scanner, чтобы открыть файл и прочитать его строки:

public static void main(String[] args) {
    try {
        Scanner sc = new Scanner(new File("naval.txt"));
        String line;
        while (sc.hasNext()) {
            line = sc.nextLine();
            System.out.println(line);
        }   
    } catch (IOException e) {
        System.out.println(e.getMessage() + "\nNot possible to read the file");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...