在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` 的文件名為你想要操作的實際文件名。