Чтение текстового файла с помощью сканера (Java)

#java #file #text #java.util.scanner

#java #файл #текст #java.util.scanner

Вопрос:

Мой текстовый файл называется p1 и содержит:

 p, -4, 5
q, 19, 8
r, 3, 0
x, 7.4, -1
y, -2.3,  -16.5
z, 0, 1
  

Мой код:

 import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;

public class Driver {

    public static void main(String[] args) {
        
        String fileName = "p1.txt";
        Scanner inputStream = null;
        System.out.println("The file "   fileName   "ncontains the following lines: n");
        
        try
        {
            inputStream = new Scanner(new File(fileName));
        }
        catch(FileNotFoundException e)
        {
            System.out.println("Error opening the file "   fileName);
            System.exit(0);
        }
        while(inputStream.hasNextLine())
        {
            String line = inputStream.nextLine();
            System.out.println(line);
        }
        inputStream.close();
    }

}
  

По какой-то причине мой код не может прочитать мой текстовый файл и выдает мне следующий вывод:

 The file p1.txt
contains the following lines: 

Error opening the file p1.txt
  

Я не уверен, что мне нужно делать.

Комментарии:

1. В соответствии с вашим кодом это сообщение записывается, когда файл не найден: catch(FileNotFoundException e) { System.out.println("Error opening the file " fileName); System.exit(0); } . Ваш файл должен находиться в текущем рабочем каталоге или следует использовать абсолютный путь,

2. Как только вы найдете свой файл, я бы предложил использовать BufferedReader для чтения текстового файла, а не потока.

3. Быстрый способ определить, есть ли у вас нужный файл, — это использовать File#getCanonicalPath(). Для использования этого вам придется создать свой файловый объект отдельно от потока.

Ответ №1:

Убедитесь, что текстовый файл находится в той же папке, что и проект, если нет, укажите путь к нему.

Ответ №2:

Это потому, что ваш файл "p1.txt" не существует. Проверьте местоположение вашего файла. Он должен быть помещен в тот же каталог.