帮我写一个Java方法,入参为一个json字符串和一个文件名,将这个json字符串保存为zip文件,保存在c盘目录下
时间: 2024-04-29 21:25:08 浏览: 111
好的,下面是一个可以实现你要求的Java方法:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import com.alibaba.fastjson.JSONObject;
public class SaveJsonAsZip {
public static void saveJsonAsZip(String jsonStr, String fileName) throws Exception {
// 将json字符串写入文件
File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(jsonStr.getBytes());
fos.flush();
fos.close();
// 将文件压缩为zip
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(new File("C:\\" + fileName + ".zip")));
ZipEntry entry = new ZipEntry(file.getName());
zos.putNextEntry(entry);
byte[] buffer = new byte[1024];
int len;
FileInputStream fis = new FileInputStream(file);
while ((len = fis.read(buffer)) > 0) {
zos.write(buffer, 0, len);
}
fis.close();
zos.closeEntry();
zos.close();
}
}
```
你可以将这个方法加入到你的Java项目中,并根据需要调用它。当需要将一个json字符串保存为zip文件时,调用这个方法即可,传入json字符串和文件名即可完成保存。
阅读全文