2

このリンクから .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 は有効なベンコーディングではありません!」というメッセージが表示されます。

インターネットで読んだことから、このファイルには特別なエンコーディングがあることがわかりました。この種のファイルをダウンロードしてエンコードする適切な方法は何ですか。ありがとう!

4

1 に答える 1

4

トレント ファイルが破損する理由は、ダウンロード元の Web サーバーが圧縮 (gzip 形式) でファイルを提供しているためです。次のコードを使用して、Java で解凍できます。

URL url = new URL(link);
try (InputStream is = new GZIPInputStream(url.openStream())) {
  Files.copy(is, Paths.get(path + "t2.torrent"));
}
于 2013-09-07T13:31:07.133 に答える