java - 在 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();
如果有更好的有效选择,我可以放弃当前的解决方案。
非常感谢您的帮助!:)
解决方案
推荐阅读
- javascript - 在 $_GET 查询 url 中使用 '+' 而不是 %2C'
- html - 如何找到css的图像路径
- php - 如何在 PHP 中对 CSV 文件进行排序而不将整个文件加载到内存中?
- regex - 正则表达式、反向引用和交替
- python - 32 位 Python 脚本调用在 64 位 virtualenv 中运行的多处理
- java - 交换链表算法的相邻元素
- ios - 当引脚关闭时,MKMapView 不会去集群
- c# - 多输入数据验证
- java - 本地主机不能在不同的计算机上工作,但在同一个网络上(Java 套接字)
- c++ - 使用另一个指针对 `unique_ptr` 拥有的对象调用`delete`