0

一時ファイルを ZIP アーカイブとして作成したいと考えています。最初のステップは基本的に

File.createTempFile ("xxx", ".zip", null);

しかし、現在、この「アーカイブ」に TrueZip を追加することはできません。これは明らかにまだアーカイブではなく、0 バイトのプレースホルダー ファイルです。ただし、ライブラリはそれを認識せず、ファイルを読み取ろうとし、もちろん EOF に遭遇します。

Exception in thread "main" java.io.EOFException
         at de.schlichtherle.truezip.rof.AbstractReadOnlyFile.readFully(AbstractReadOnlyFile.java:37)
         ...

最初にそれを呼び出そうとしTFile.mkdir()ましたが、これは と同じ例外を返します。つまり、TrueZip はまだファイルを上書きTFile.cp*()したくないのです。

もちろん、最初にファイルを削除することもできますが、競合状態が発生するため、これは適切な解決策ではありません。

4

0 に答える 0