将FileOutputStream(作为String接收)写入文件

时间:2017-05-18 20:31:59

标签: java string jsp pdf fileoutputstream

我在servlet中收到FileOutputStream作为String,如何将其写入文件。

我尝试将字符串转换为字节,然后将其分配给新的FileOutputStream,它会生成文件,但表示格式已损坏。

我尝试了各种代码,但没有一个正常工作。

File file = new File("d:/file1.pdf");
        String content = request.getParameter("TextB1");

        try (FileOutputStream fop = new FileOutputStream(file)) {

            // get the content in bytes
            byte[] contentInBytes = content.getBytes();

            fop.write(contentInBytes);
            fop.flush();
            fop.close();

            System.out.println("Done");

        } catch (IOException e) {
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:0)

问题可能是因为如果是PDF文件,您需要解码内容。

这样的事情应该可行:

BASE64Decoder decoder = new BASE64Decoder();
byte[] decodedBytes = decoder.decodeBuffer(content.getBytes());