FileSystemを使用してzipファイルに出力されたJavaイメージが空です

ダンディ

現在、画像ファイルを既存のzipファイルにコピーしようとしています(追加など)。ただし、出力は空です(つまり、ファイルは実際には存在します。0バイトを使用していると表示されているだけで、開いたり抽出したりすることはできません)。

これが私のコードサンプルです:

Map<String, String> env = new HashMap<>();
env.put("create", "true");
Path path = Paths.get("countMap.zip");
java.net.URI uri = java.net.URI.create("jar:" + path.toUri());

try (FileSystem fs = FileSystems.newFileSystem(uri, env)) {

Path nf = fs.getPath("mario.png");

try (OutputStream zos = Files.newOutputStream(nf, StandardOpenOption.CREATE)) {

            Files.createFile(nf, null);

            Files.copy(nf, zos);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

編集:

Javaコンポーネントをデバッグすると、すべてがうまくいくように見えます。一時ファイルを最終的なファイルの宛先にコピーする際に問題が発生する可能性があるのではないかと思います。

ダンディ

OK、問題が発生しました。

Files.copy(nf, zos);

まったく機能しませんでした。だから私はストリームを使ってみました:

final byte[] bytes = new byte[1024];
int read = 0;

while ((read = inputStream.read(bytes)) != -1) {
zos.write(bytes, 0, read);
}
zos.close();

これもうまくいきませんでした。しかし、おかしなことに(そして、House MDのようなものです:-))私には同じような問題を抱えている友人がいました。彼の場合、ファイルライターは何も出力しませんでした-または半分。もちろん、奇妙です。しかし、彼の問題は、彼が小川を閉じるのを忘れたことでした。

そこで、自分のコードを調べましたが、すべて問題ありません。しかし、それから私は面白い解決策を試し始め、close()を削除しました-そしてそれはうまくいきました!もちろん、奇妙です。そして、まったく予測できません。しかし、少なくとも私の場合は今解決されています。誰かがそれがJAVAのバグかもしれないと思いますか?そして多分それを適切に報告する方法を知っていますか?

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

c#を使用して送信された電子メールの添付ファイルでzipファイルが空になります

分類Dev

事前にコンパイルされたファイルを使用してDockerイメージを作成する

分類Dev

.swpファイルを使用してループから呼び出されたときにファイル出力が異なるのはなぜですか?

分類Dev

JavaでSpringを使用してアップロードされたzipファイルを解凍する方法

分類Dev

JavaでSpringを使用してアップロードされたzipファイルを解凍する方法

分類Dev

Javaを使用してパスワードで保護されたzipファイルを解凍するとNullPointerExceptionがスローされます

分類Dev

スキャナーを使用して、ZipファイルがCSVまたはJAVAの他のタイプのファイルで圧縮されているかどうかを確認するにはどうすればよいですか?

分類Dev

ノードとAngular5を使用してLinuxサーバーからzipファイルをダウンロードすると、zipファイルは正常にダウンロードされますが、空です

分類Dev

ILMerge によってマージされた空の Dll ファイルで CodeDom を使用する

分類Dev

Loadrunner - パラメータがファイルにある場合、パラメータ化された値を使用して出力する

分類Dev

pandaを使用してデコードされたzipファイルを.txtファイルに変換するときにエラーが発生しました(デコードされたファイルの開始時に「\ t」がありません)

分類Dev

pandaを使用してデコードされたzipファイルを.txtファイルに変換するときにエラーが発生しました(デコードされたファイルの開始時に「\ t」がありません)

分類Dev

パッカーを使用して、パスワードなしでホストから生成されたイメージにファイルをコピーする

分類Dev

クラスローダーを使用して、zipファイルがクラスパスの.jarファイルにラップされているmodel.zipファイルのinputstreamを取得するにはどうすればよいですか?

分類Dev

FileSystemを直接使用してHadoopファイルシステムのファイルを標準出力に表示中にエラーが発生しました

分類Dev

Tomcat から別のファイルに sigquit 出力を送信しようとしています - ファイルは作成されますが空ですか?

分類Dev

Javaを使用して作成されたzipファイルを開くときにエラーが発生しました

分類Dev

複数のxmlファイルをマージし、要素を一度に挿入して、xsltを使用して更新されたxmlを出力します

分類Dev

別のPHPスクリプトによって送信された添付ファイルを収集し、ZIPフォルダーとして出力します

分類Dev

Log4j2 を使用してコンソールにメッセージを記録できませんが、ファイルに記録されます。

分類Dev

スクリプトで生成された出力の値を使用してファイルに値を追加します

分類Dev

FileSystemObjectを使用して、イメージファイルを更新された変更日でディレクトリに書き換えますか?

分類Dev

Java FileSystemを使用して新しいzipファイルを作成することは可能ですか?

分類Dev

java execユーティリティを使用して7zファイルを生成しようとしていますが、空のzipファイルが作成されます

分類Dev

winrarがzipメソッドを使用して作成したパスワードで保護されたzipファイルをPythonで解凍できないのはなぜですか?

分類Dev

docker-compose with volumeを使用してコンテナ内のファイルを空にし、既存のファイルでイメージを初期化します

分類Dev

Dockerイメージ内でpipを使用してインストールされたPythonファイルを変更します

分類Dev

Java を使用してディレクトリ内のパスワードで保護されたすべての zip ファイルを解凍する方法

分類Dev

zip4jを使用してパスワード保護されたzipファイルを抽出する方法

Related 関連記事

  1. 1

    c#を使用して送信された電子メールの添付ファイルでzipファイルが空になります

  2. 2

    事前にコンパイルされたファイルを使用してDockerイメージを作成する

  3. 3

    .swpファイルを使用してループから呼び出されたときにファイル出力が異なるのはなぜですか?

  4. 4

    JavaでSpringを使用してアップロードされたzipファイルを解凍する方法

  5. 5

    JavaでSpringを使用してアップロードされたzipファイルを解凍する方法

  6. 6

    Javaを使用してパスワードで保護されたzipファイルを解凍するとNullPointerExceptionがスローされます

  7. 7

    スキャナーを使用して、ZipファイルがCSVまたはJAVAの他のタイプのファイルで圧縮されているかどうかを確認するにはどうすればよいですか?

  8. 8

    ノードとAngular5を使用してLinuxサーバーからzipファイルをダウンロードすると、zipファイルは正常にダウンロードされますが、空です

  9. 9

    ILMerge によってマージされた空の Dll ファイルで CodeDom を使用する

  10. 10

    Loadrunner - パラメータがファイルにある場合、パラメータ化された値を使用して出力する

  11. 11

    pandaを使用してデコードされたzipファイルを.txtファイルに変換するときにエラーが発生しました(デコードされたファイルの開始時に「\ t」がありません)

  12. 12

    pandaを使用してデコードされたzipファイルを.txtファイルに変換するときにエラーが発生しました(デコードされたファイルの開始時に「\ t」がありません)

  13. 13

    パッカーを使用して、パスワードなしでホストから生成されたイメージにファイルをコピーする

  14. 14

    クラスローダーを使用して、zipファイルがクラスパスの.jarファイルにラップされているmodel.zipファイルのinputstreamを取得するにはどうすればよいですか?

  15. 15

    FileSystemを直接使用してHadoopファイルシステムのファイルを標準出力に表示中にエラーが発生しました

  16. 16

    Tomcat から別のファイルに sigquit 出力を送信しようとしています - ファイルは作成されますが空ですか?

  17. 17

    Javaを使用して作成されたzipファイルを開くときにエラーが発生しました

  18. 18

    複数のxmlファイルをマージし、要素を一度に挿入して、xsltを使用して更新されたxmlを出力します

  19. 19

    別のPHPスクリプトによって送信された添付ファイルを収集し、ZIPフォルダーとして出力します

  20. 20

    Log4j2 を使用してコンソールにメッセージを記録できませんが、ファイルに記録されます。

  21. 21

    スクリプトで生成された出力の値を使用してファイルに値を追加します

  22. 22

    FileSystemObjectを使用して、イメージファイルを更新された変更日でディレクトリに書き換えますか?

  23. 23

    Java FileSystemを使用して新しいzipファイルを作成することは可能ですか?

  24. 24

    java execユーティリティを使用して7zファイルを生成しようとしていますが、空のzipファイルが作成されます

  25. 25

    winrarがzipメソッドを使用して作成したパスワードで保護されたzipファイルをPythonで解凍できないのはなぜですか?

  26. 26

    docker-compose with volumeを使用してコンテナ内のファイルを空にし、既存のファイルでイメージを初期化します

  27. 27

    Dockerイメージ内でpipを使用してインストールされたPythonファイルを変更します

  28. 28

    Java を使用してディレクトリ内のパスワードで保護されたすべての zip ファイルを解凍する方法

  29. 29

    zip4jを使用してパスワード保護されたzipファイルを抽出する方法

ホットタグ

アーカイブ