首页 > 解决方案 > 在 Java 中垂直附加 GIF

问题描述

我正在尝试垂直连接多个动画 gif。问题是我从一个页面下载了 gif 并将其即时写入同一个文件。所以我不想创建多个文件,而是使用 DataInputStreams 附加到一个 FileOutputStream。我的示例创建了一个 gif,但它仅显示已解析列表中的第一个 gif。

我想要的是,gif 附加在第一个 gif 下方,但是为此我需要设置一个偏移量fo.write(b, Offset, 1)吗?我不知道如何确定偏移量。此外,如果我只使用 0 作为偏移量,它应该将 gif 一个一个地附加到少数几个上,但这也行不通。

关于如何解决这个问题的任何建议?

FileOutputStream fo = new FileOutputStream("S:\\folder\\" + nameofthefile +".gif", true);   

    for(String urltoGif : urlstoContent) {
        byte[] b = new byte[1];
        URL urlGif = new URL(urltoGif);
        URLConnection urlConnection = urlGif.openConnection();
        urlConnection.connect();
        DataInputStream di = new DataInputStream(urlConnection.getInputStream());
        while (-1 != di.read(b, 0, 1))
        fo.write(b, 0, 1);
        di.close();

    }    
    fo.close();

如果有更好的有效选择,我可以放弃当前的解决方案。

非常感谢您的帮助!:)

标签: javafileanimated-gif

解决方案


推荐阅读