Java 从字符串到字节数组再到文件的转换

Java 从字符串到字节数组再到文件的转换,java,fileoutputstream,Java,Fileoutputstream,我收到一个作为字符串的图像数据作为响应,我将其转换为字节[],然后写入pdf文件,但无法以pdf格式打开,因为它显示文件已损坏或未正确解码。当我打开文本时,我看到的字符串数据与我收到的响应完全相同。请看下面并纠正我 String response = "AAAAAAAAA......AAAAA=="; /*byte[] imageByteArray = response.getBytes(); */ /* decode string */ byte[] imageByteArray = B

我收到一个作为字符串的图像数据作为响应,我将其转换为字节[],然后写入pdf文件,但无法以pdf格式打开,因为它显示文件已损坏或未正确解码。当我打开文本时,我看到的字符串数据与我收到的响应完全相同。请看下面并纠正我

String response = "AAAAAAAAA......AAAAA==";

/*byte[] imageByteArray = response.getBytes(); */
 /*  decode string */
byte[] imageByteArray = Base64.decodeBase64(response);

FileOutputStream imageOutFile = new FileOutputStream("D:/output.pdf");

imageOutFile.write(imageByteArray, 0, imageByteArray.length);

imageInFile.close();

请查找:

无法直接使用java.io类写入PDF。 您需要使用像iText这样的API将数据写入PDF

请查看以下网址:

您需要一个库来完成这项工作,因为PDF有自己的内部格式。查看iText或类似的库。如果您得到一个图像作为响应,您应该将其保存为原样,一个图像而不是pdf。还要注意,字符串末尾的
==
闻起来像base 64 encoding。您可以共享整个字符串吗?它看起来像什么?或者更好,将内容转储到一个文件中并共享该文件。在我的例子中,它使用输出流成功地编写了一个pdf文件。