【发布时间】:2018-01-16 08:04:50
【问题描述】:
我有一个 zip 文件的内容,该文件是从客户端多部分表单数据 api 接收的,存储为字符串。
我现在只想将此数据保存为 zip 文件;但是,当我尝试如下保存到文件时,当我尝试打开文件时,我收到一条消息,说明
“Windows 无法打开该文件夹。压缩(压缩)文件夹 'C:\payload.zip' 无效。”
public void createFile(String data) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("c:\\payload.zip"));
out.write(data);
out.close();
}
catch (IOException e)
{
System.out.println("Exception ");
}
}
我只是将收到的字符串传递给上面显示的小测试 createFile 方法。
我以为我会在下面粘贴实际的字符串内容,但是当我尝试这样做时,它会将其转换为这个(不带双引号): “PK”
对我做错了什么有帮助吗?
【问题讨论】:
-
压缩文件是一种二进制格式,而不仅仅是纯文本。使用
ZipOutputStream写入您的数据 -
当您开始将二进制数据视为
String时,您就完蛋了。在您的情况下,这发生在接收表单数据时。