Java .torrent文件下载

时间:2013-09-07 10:28:13

标签: java file encoding

我想从此链接下载.torrent文件 http://torrage.com/torrent/13764753227BCBE3E8E82C058A7D5CE2BDDF9857.torrent 为此,我使用此代码

URL website = new URL(link);
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
File f = new File(path+"t2.torrent");
FileOutputStream fos = new FileOutputStream(f);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();

现在,当我在utorrent中打开它时,我收到此消息:无法加载“t2.torrent”:torrent不是有效的bencoding!

根据我在互联网上阅读的内容,我了解到这些文件具有特殊编码。 什么是下载端编码这种文件的方式。 谢谢!

1 个答案:

答案 0 :(得分:4)

torrent文件损坏的原因是您从中下载它的Web服务器以压缩(gzip)格式提供它。您可以使用以下代码在Java中解压缩它:

URL url = new URL(link);
try (InputStream is = new GZIPInputStream(url.openStream())) {
  Files.copy(is, Paths.get(path + "t2.torrent"));
}