Получить содержимое файла из многочастного форматаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получить содержимое файла из многочастного формата

Сообщение Anonymous »

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

ВАЖНО: я могу использовать ТОЛЬКО "servlet-api.jar" (версия 2.4)", я не могу использовать другой JAR!

Я использую чтобы загрузить мой файл.

Затем я использую этот код InputStream Whole = request.getInputStream();, чтобы получить весь входной поток.

Затем я использую этот код для получения строки содержимого файла

Код: Выделить всё

BufferedReader br = new BufferedReader(new InputStreamReader(whole, "UTF-8"));
while ((line = br.readLine()) != null) {
sb.append(line);// sb is stringbuilder here
}
Затем я конвертирую строку, полученную из построителя строк, во входной поток:

Код: Выделить всё

InputStream is = new ByteArrayInputStream(result.getBytes("UTF-8""));
Наконец, я записываю этот входной поток в другой файл (временный), используя следующий код:

Код: Выделить всё

OutputStream outputStream = new FileOutputStream(temp);// temp is a file.
int read = 0;
byte[] bytes = new byte[1024];
while ((read = is.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
Когда я загружаю файл .txt, он работает, и я могу открыть temp.txt. Однако когда я загружаю файл .docx, я не могу открыть temp.docx. Как я могу решить эту проблему? Это потому, что у меня неправильная кодировка?

Подробнее здесь: https://stackoverflow.com/questions/230 ... art-format
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»