Comment utiliser Java pour télécharger un fichier mp3 en ligne?
J'ai utilisé la méthode suivante pour télécharger un fichier mp3 à :
http://online1.tingclass.com/lesson/shi0529/43/32.mp3
Mais j'ai eu l'erreur suivante :
java.io.FileNotFoundException: http:\online1.tingclass.com\lesson\shi0529\43\32.mp3 (Le nom de fichier, le nom du répertoire ou de la syntaxe du nom de volume est incorrecte)
public static void Copy_File(String From_File,String To_File)
{
try
{
FileChannel sourceChannel=new FileInputStream(From_File).getChannel();
FileChannel destinationChannel=new FileOutputStream(To_File).getChannel();
sourceChannel.transferTo(0,sourceChannel.size(),destinationChannel);
//or
// destinationChannel.transferFrom(sourceChannel, 0, sourceChannel.size());
sourceChannel.close();
destinationChannel.close();
}
catch (Exception e) { e.printStackTrace(); }
}
Encore si je le fais à partir d'un navigateur à la main, le fichier est là, je me demande pourquoi il n'a pas de travail, et quelle est la bonne façon de le faire ?
Frank
OriginalL'auteur Frank | 2010-09-06
Vous devez vous connecter pour publier un commentaire.
À l'aide de la vieille école Java IO, mais vous pouvez mapper ce à la NIO méthode que vous utilisez. Clé, c'est l'utilisation de URLConnection.
OriginalL'auteur Joel
Lorsque vous créez un
FileInputStream
, vous avez toujours accès à votre système de fichiers local. Au lieu de cela, vous devez utiliser unURLConnection
pour accéder à des fichiers via HTTP.L'indicateur de cela est que les barres obliques
/
ont transformé en barres obliques vers l'arrière\
.OriginalL'auteur Roland Illig
FileInputStream est utilisé pour accéder à des fichiers locaux uniquement. Si vous voulez accéder au contenu d'une URL, vous pouvez installer un URLConnection ou utiliser quelque chose comme ceci:
Ou, plus simplement, il suffit de faire une BufferedInputStream de myUrlStream et le cycle de l'opération de lecture/écriture jusqu'à ce que EOF est trouvé sur myUrlStream.
Cheers,
Andrea
OriginalL'auteur nivox