私はgzipしたい.xlsxファイル(または任意のファイル)を持っています。私はファイルをgzipすることができましたが、今私はこれを適切に行うことを試みるという問題があります。元のファイルをgzip形式のファイルに置き換えることを意味します。ここでgzipファイルの置き換え方法Java
は私のコードです:
public static void main(String[] args) throws IOException {
File file = new File("test.xlsx");
File gfile = new File(file.getAbsolutePath()+".gz");
if(!file.exists()) {
System.err.println("Input tax file did not exist!");
}
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(gfile);
GZIPOutputStream gos = new GZIPOutputStream(fos);
gzipReplace(fis, gos);
}
private static void gzipReplace(InputStream is, OutputStream os) {
int oneByte;
try {
while((oneByte = is.read()) != -1) {
os.write(oneByte);
}
os.close();
is.close();
} catch (Exception e){
System.err.println(e.getStackTrace());
}
}
は、どのように私はgzip圧縮された1で圧縮されていないファイルのインプレースの交換を行うことができますか?
私はテキストファイルを使ってgzipファイルを作成しているので、すぐに上書きすることはできないと思うべきですが、圧縮が「正常に」完了したらすぐに移動できますまたはテキストファイルを削除します。 – DevilsHnd
どのファイルタイプでも動作させるためには、txtは単なる例でした。詳細を私の質問に更新します。私は約200万のファイルのためにこれを行うでしょう。したがって、プロセスが実行されるときにスペースが問題になる場合は、元のファイルを削除するプロシージャを追加するよりも、より良い解決策となる可能性があります。 –