在Java中,你可以使用`GZIPOutputStream`类来压缩文件,并且指定压缩后的文件名。以下是一个示例代码,演示如何使用`GZIPOutputStream`类来实现这一功能:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.GZIPOutputStream;
public class GzipFileCompression {
public static void main(String[] args) {
String inputFileName = "input.txt";
String outputFileName = "output.gz";
try (FileInputStream fis = new FileInputStream(inputFileName);
FileOutputStream fos = new FileOutputStream(outputFileName);
GZIPOutputStream gzipOS = new GZIPOutputStream(fos)) {
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
gzipOS.write(buffer, 0, bytesRead);
}
System.out.println("File compressed successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,`input.txt` 是要被压缩的文件名,`output.gz` 是压缩后的文件名。通过创建一个 `FileOutputStream` 对象将数据写入到指定的输出文件中,然后创建一个 `GZIPOutputStream` 对象来实现压缩。
记得替换 `input.txt` 和 `output.gz` 的文件名为你想要操作的实际文件名。