この投稿は数年前のことです。ただし、java.util.zipを初めて使用したときに非常によく似た問題が発生したため、この投稿で問題を解決しました。
絶対パスに関するAnoopの最後のコメントは、問題を見つけるのに役立ちました。いくつかの投稿を検索しても答えが見つからなかったので、ここに投稿したいと思いました。実際には、ローランドの最後の質問に答えています。
問題は、相対パスではなく、完全修飾パス/ファイルでZipEntry(file)を使用した場合でした。結果のZIPをWindowsOSインスタンスで開くことができませんでした。ただし、Javaを使用してファイルを再度抽出することはできました。この問題に気付いたのは、7zipでzipを開いてからでした。result.zipファイルの最初のフォルダーは「D:」でした。私のディレクトリは私のDドライブの下の長い道のりでした。したがって、「Results.zip」ファイルを開くと、zipファイル(7zipから)のディレクトリツリーをクリックした後に表示される内容は次のとおりです。Results.zip\ D:\ Apps \ vertigo \ instance5 \ runtime \ myManager \ DiscoveryResources \データ
「data」ディレクトリには、実際に圧縮したすべてのファイル/ディレクトリが含まれていました。
データディレクトリからパスを削除すると、Results.zipは「D:」ではなく「data」で始まりました。そして、そのファイルはWindows 7、2012などで開くことができます。
それが将来誰かに役立つことを願っています。
ありがとう、-クリス