исключение в потоке main java.util.nosuchelementexception с новым сканером (файлом)

У меня проблема с кодом, я все время получаю эту ошибку:

Exception in thread "main" java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:907)
    at java.util.Scanner.next(Scanner.java:1416)
    at audio.AudioSecrets.main(AudioSecrets.java:32)
Java Result: 1

моя проблема в этом ligne:

contents = new Scanner(file).useDelimiter("\\Z").next().toCharArray(); // 

Разделитель \\Z в сочетании с .next() будет читать ввод до тех пор, пока ничего не останется.

как я могу ввести файл в мою программу, спасибо за помощь


person Lina    schedule 28.03.2014    source источник
comment
Похоже, вы пытаетесь поместить весь файл в строку. Это рассматривается в Как проще всего прочитать файл в String?, поэтому я проголосовал за закрытие как дубликат этого. Не то чтобы это плохой вопрос - это хороший вопрос. Просто это было раньше.   -  person Dawood ibn Kareem    schedule 28.03.2014


Ответы (1)


Вы должны проверить hasNext() перед звонком next(). Наверное, нет элементов, соответствующих вашим критериям.

Scanner s = new Scanner(file);
s.useDelimiter("\\Z");
if(s.hasNext()) {
   contents = s.next().toCharArray();
}
person sanbhat    schedule 28.03.2014