一時ファイルを 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*()
したくないのです。
もちろん、最初にファイルを削除することもできますが、競合状態が発生するため、これは適切な解決策ではありません。