java - 尝试将 zip 文件内容的字符串表示形式保存为 Java 中的文件

标签 java string file zip

我有一个 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/

相关文章:

java - 链表插入使用头部插入

c - (C 编程) 如何将字符串插入字符数组,然后打印出该数组的所有元素?

php - 从文件中读取最后一行

java - 如何从 map 上删除符号

java - 如何从 Hibernate 4.3.4.Final 中检索 sessionFactory?

ruby-on-rails - 西里尔字符串 Я̆ Я̄ Я̈ 在 ruby​​ 和其他编程语言中返回长度 2 而不是 1

javascript - Multer 不上传文件

java - 在 Java 中设置文件下载的内容类型

java - 如何从图库中选择多张图片?

NSIS 中的字符串解析函数