Я пытаюсь получить BufferedInputStream из загруженного файла cvs.
Я работаю с Multipart, полученным из файла cvs.
Когда я впервые получаю Multipart, это BufferedInputStream, но весь буфер пустой.
Но если я загляну глубже, в CoyoteInputStream есть еще один буфер, в котором есть данные.
Как я могу получить этот второй буфер? Мой код ниже.
И, конечно же, он генерирует нулевое исключение, когда доходит до
в то время как ((multiPartDataPos = stream.read(buffer)) >= 0)
Что я делаю неправильно? Я ошибаюсь, что CoyoteInputStream — это данные, которые мне нужны?
открытый байт [] handleUploadedFile (Multipart multiPart) выдает EOFException {
Multipart multiPartData = null;
BufferedInputStream stream = null;
int basicBufferSize = 0x2000;
byte[] buffer = new byte[basicBufferSize];
int bufferPos = 0;
try {
while (multiPart.hasNext()) {
int multiPartDataPos = bufferPos;
multiPartData = (Multipart) multiPart.next();
stream = new BufferedInputStream(multiPartData.getInputStream());
while ((multiPartDataPos = stream.read(buffer)) >= 0) {
int len = stream.read(buffer, multiPartDataPos, buffer.length - multiPartDataPos);
multiPartDataPos += len;
}
bufferPos = bufferPos + multiPartDataPos;
}
} ...