我有一个 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”
对我做错的事情有什么帮助吗?
最佳答案
您可以使用 BufferedWriter 创建扩展名为 .zip 的文件,但不要期望该文件是压缩文件(二进制文件)
您可以使用如下所示的内容
看这个例子:
StringBuilder sb = new StringBuilder();
sb.append("your string data");
File f = new File("c:\\payload.zip");
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(f));
ZipEntry e = new ZipEntry("myFile.txt");
out.putNextEntry(e);
byte[] data = sb.toString().getBytes();
out.write(data, 0, data.length);
out.closeEntry();
out.close();
关于java - 尝试将 zip 文件内容的字符串表示形式保存为 Java 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45573624/