java - загрузка файла HttpServlet - PullRequest
0 голосов
/ 15 января 2020

Я попытался создать файл, записать в него, а затем превратить файл во входной поток и передать его байты в выходной поток ответа HTTP. Но я получаю сообщение «/tmp/mozilla_xxxx/33JJ1OHw.md.part не может быть сохранен, потому что исходный файл не может быть прочитан». при тестировании.

Вот код, который выполняет эту часть.

        f = new File("f.md");
        f.createNewFile();
        fw = new FileWriter(f);
        fw.append("#" + query + "\n" + queryResult);
        fw.close();
        resp.setContentType("text/markdown");

        OutputStream out = resp.getOutputStream();
        FileInputStream in = new FileInputStream(f);
        byte[] buffer = new byte[4096];
        int length;
        while ((length = in.read(buffer)) > 0){
          out.write(buffer, 0, length);
        }

        in.close();
        out.flush();

1 Ответ

0 голосов
/ 15 января 2020

Как вы можете видеть из документации, File класс не предназначен для чтения фактического содержимого файла, он просто ...

Абстрактное представление имен файлов и каталогов.

Но есть много способов получить содержимое файла, просто используйте один из следующих классов: FileReader, BufferedReader, Scanner и Files .

Здесь вы увидите разные примеры, просто используйте тот, который вы найдете лучше. Различные способы чтения текстового файла в Java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...