在Java中,你可以使用BufferedWriter
结合GZIPOutputStream
来实现数据的压缩。以下是一个简单的示例,展示了如何使用BufferedWriter
和GZIPOutputStream
将字符串写入一个压缩文件中:
import java.io.*;
import java.util.zip.GZIPOutputStream;
public class GZIPCompressedWriter {
public static void main(String[] args) {
String input = "这是一个需要压缩的文本。";
String outputZipFile = "compressed_output.txt.gz";
try {
writeCompressed(input, outputZipFile);
System.out.println("文件已成功压缩。");
} catch (IOException e) {
System.err.println("发生错误:" + e.getMessage());
}
}
public static void writeCompressed(String input, String outputZipFile) throws IOException {
try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new GZIPOutputStream(new FileOutputStream(outputZipFile)))) {
writer.write(input);
writer.flush();
}
}
}
在这个示例中,我们首先创建了一个BufferedWriter
,它使用GZIPOutputStream
作为其输出流。然后,我们将输入字符串写入BufferedWriter
,这将自动压缩数据并将其写入指定的文件。最后,我们关闭了BufferedWriter
以释放资源。