2015-03-06 2 views
-1

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

scan = new Scanner(zf.getInputStream(ze)); 
if(scan.hasNext()) 
    fullText = scan.useDelimiter("\\A").next(); 

где zf и ze являются ZipFileInputStream и ZipEntry. Случайно в некоторых случаях я вижу ниже исключения. Есть идеи?

java.util.InputMismatchException 
    at java.util.Scanner.throwFor(Scanner.java:840) 
    at java.util.Scanner.next(Scanner.java:1347) 
+2

thats стандартный класс java, я думаю. not my own – Vik

+2

Вы ранее спрашивали об «IndexOutOfBoundsException», а затем редактировали вопрос, чтобы спросить о другом «InputMismatchException», предоставив существующие ответы на ваш вопрос бесполезными. Если у вас есть две отдельные проблемы, задайте два отдельных вопроса, не используйте один и тот же вопрос повторно. – dimo414

+0

Не могли бы вы поделиться содержимым файла, который вы читаете? И как часто это происходит? – Sufian

ответ

0

Посмотрите на исходный код для Scanner.java, строка 883, и посмотреть, что будет вызывать IndexOutOfBoundsException там. Затем проследите эту переменную и посмотрите, почему индекс не соответствует границам. Исходный код Java является общедоступным, поэтому просто убедитесь, что источник Java правильно связан с вашим проектом.

+0

Я видел еще одно исключение, прежде чем это может быть, это дает некоторую подсказку? – Vik

Смежные вопросы