Télécharger.fichier torrent Java


J'essaie de télécharger un .fichier torrent en Java. J'ai fait référence à cela SO ( Java .téléchargement de fichier torrent ) question mais lorsque j'exécute le programme, il ne démarre pas le téléchargement. Il ne fait absolument rien. Quelqu'un peut m'expliquer ce que je fais mal. J'ai posté un SSCCE ci-dessous. Merci à l'avance.

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;

public class Test {
    public static void main(String[] args) throws IOException {
        String link = "http://torrage.com/torrent/13764753227BCBE3E8E82C058A7D5CE2BDDF9857.torrent";
        String path = "/Users/Bob/Documents";
        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();
    }
}
Author: Community, 2014-02-27

1 answers

Vous n'avez pas formaté le chemin du fichier correctement. Cette partie du code est votre problème:

File f = new File(path + "t2.torrent");

Changez-le en ceci:

File f = new File(path + File.separator + "t2.torrent");

MODIFIER:

Si cela ne fonctionne pas, vous devriez essayer de réparer votre chemin de fichier. Êtes-vous sûr que ce n'est pas quelque chose comme C:\Users\Bob\Documents?

Une fois que vous avez corrigé votre chemin de fichier et que le fichier torrent se télécharge correctement, si votre programme torrent génère une erreur lors du chargement du torrent, c'est probablement parce que le .le fichier torrent est au format GZIP. Fixer cela, suivez simplement la solution publiée sur la question à laquelle vous avez lié:

String link = "http://torrage.com/torrent/13764753227BCBE3E8E82C058A7D5CE2BDDF9857.torrent";
String path = "/Users/Bob/Documents";
URL website = new URL(link);
try (InputStream is = new GZIPInputStream(website.openStream())) {
    Files.copy(is, Paths.get(path + File.separator + "t2.torrent"));
    is.close();
}
 1
Author: uyuyuy99, 2014-02-26 23:46:55