я хочу прочитать из inputstream
в двух различных отношениях клиента:Чтения с InputStream при использовании сканера
1: Использование Scanner
над inputstream
для чтения строк.
2: Используйте сам объект InputStream
, чтобы прочитать файл с буфером.
Сначала я хочу прочитать текст, который дает мне имя и размер файла, в моем случае: «file: name: ...», «file: size: ...».
Когда у меня есть эта информация, InputStream
должен фактически прочитать файл. Проблема в том, что я пытаюсь прочитать файл в «scanner.hasNextLine()
» -loop с объектом InputStream
, но это приводит к тому, что метод InputStream.read()
возвращает -1 или EOS. Я привел эту проблему до минимального размера, так что вы просто должны мне ответить на этот вопрос:
Почему чтения метод возврата -1 здесь:
if (scanner.hasNextLine()) {
System.out.println(inputstream.read());
}
Пожалуйста, укажите больше кода. Легкий ответ на вопрос «Почему ... -1» - это то, что конец файла был достигнут, и это не поможет. – DSlomer64
Почему вы читаете «Сканер» ** и ** '' InputStream''? –
Я использую 'Scanner' и' InputStream', потому что с помощью 'Scanner' я хочу читать входящие команды и с помощью' InputStream', я хочу прочитать файл, который может быть ** другим ** из текстового файла. –