gpt4 book ai didi

java gzip 无法保留原始文件的扩展名

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:05 25 4
gpt4 key购买 nike

我正在使用 GZIPOutputStream 将一个 xml 文件 gzip 为 gz 文件,但在压缩后我发现 gz 文件层次结构中缺少 xml 文件 (.xml) 的扩展名。我需要保留扩展名,因为压缩的 gz 文件将被第三方系统使用,第三方系统希望在解压缩 gz 文件后获得 .xml 文件。有什么解决办法吗?我的测试代码是:

public static void main(String[] args) {
compress("D://test.xml", "D://test.gz");
}

private static boolean compress(String inputFileName, String targetFileName){
boolean compressResult=true;
int BUFFER = 1024*4;
byte[] B_ARRAY = new byte[BUFFER];
FileInputStream fins=null;
FileOutputStream fout=null;
GZIPOutputStream zout=null;
try{
File srcFile=new File(inputFileName);
fins=new FileInputStream (srcFile);
File tatgetFile=new File(targetFileName);
fout = new FileOutputStream(tatgetFile);
zout = new GZIPOutputStream(fout);
int number = 0;
while((number = fins.read(B_ARRAY, 0, BUFFER)) != -1){
zout.write(B_ARRAY, 0, number);
}
}catch(Exception e){
e.printStackTrace();
compressResult=false;
}finally{
try {
zout.close();
fout.close();
fins.close();
} catch (IOException e) {
e.printStackTrace();
compressResult=false;
}
}
return compressResult;
}

最佳答案

也许我遗漏了什么,但是当我过去对文件进行 gzip 压缩时,比如 test.xml,我得到的输出将是 test.xml.gz。也许如果您将输出文件名更改为 test.xml.tz,您仍会保留原始文件扩展名。

关于java gzip 无法保留原始文件的扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com