2015-02-23 2 views
-1

Решенных возлежали с моим профессором сегодня в течение твердых 30 минут, прежде чем мы решили, чтобы создать «Сканер FileInput» до «попробовать» линии. ЭТО СРАБОТАЛО. Надеюсь, это помогает кому-то другому.Java: Сканер не может прочитать файл .txt

после обширных исследований, я не смог выяснить, почему сканер не рисует «hurricane.txt». Я сохранил его как .txt в проекте. Я использую NetBeans. Любая помощь приветствуется!

// Openning hurricane data file 


try{ 
    System.out.println("Openning hurricane data file..."); 
    Scanner fileInput = new Scanner(new File("hurricane.txt")); 
    } 
    catch(FileNotFoundException e){ 


    System.err.println("FileNotFoundException: " + e.getMessage()); 
     return; 
    } 
    System.out.println("File opened successfully..."); 
    System.out.println("Reading file..."); 

Это выход я получаю:

run: 
Openning hurricane data file... 
FileNotFoundException: hurricane.txt (The system cannot find the file specified) 
BUILD SUCCESSFUL (total time: 1 second) 
+1

Я думаю, что вы не имеете hurricane.txt на пути к классам. Попробуйте добавить его в classpath – dpassy

+3

Опубликовать результат 'System.out.println (новый файл (« hurricane.txt »). GetAbsolutePath());' и посмотреть, действительно ли у вас есть файл в этом месте. – Pshemo

+0

Единственным возможным объяснением этого может быть то, что имя не совпадает или файл не находится в соответствующей директории. Ответы ниже помогут вам. О, и не забудьте закрыть поток после того, как вы закончите с ним. Возможно, вы просто захотите использовать оператор Try-With-Resource, который предоставляет Java. – Nikita

ответ

0

Либо указать полный путь или поместите текстовый файл в рабочем каталоге приложения, которое вы можете распечатать следующим образом:

final String workingDir = System.getProperty("user.dir"); 
System.out.println("Current working directory: " + workingDir); 

Затем убедитесь, что текстовый файл находится в этом конкретном каталоге и что имя файла и расширение совпадают.

0

У меня была такая же проблема вчера. Ошибка, которую я сделал, это то, что я создал/добавил файл, и я назвал его junkfile.txt. Но поскольку я сделал это, имя, которое у него было, это junkfile.txt.txt, потому что расширение .txt добавляется автоматически, поэтому, ссылаясь на него как на junkfile.txt, очевидно, он не работал, и я получил исключение filenotfound, которое заняло у меня некоторое время, чтобы выяснить ,

Так что, возможно, если вы используете hurricane.txt.txt, он будет работать.

Редактировать: если вы создали текстовый файл в рабочем каталоге netbeans и назвали его hurricane.txt, он появится в списке проектов как hurricane.txt.txt.

+0

С сегодняшнего дня я устроился с моим профессором за 30 минут до того, как мы решили создать «Scanner fileInput» перед «попыткой». Надеюсь, это помогает кому-то другому. – buick

0

попробовать

File f = new File(this.getClass().getResource("hurricane.txt").toExternalForm()); 
Смежные вопросы