J'ai deux objets Java.io.File file1 et file2. Je veux copier le contenu de fichier1 à fichier2. Existe-t-il un moyen standard de le faire sans avoir à créer une méthode qui lit le fichier1 et écrit dans le fichier2java IO pour copier un fichier vers un autre
Répondre
Non, il n'existe pas de méthode intégrée pour cela. Le plus proche de ce que vous voulez accomplir est la méthode transferFrom
de FileOutputStream
, comme ceci:
FileChannel src = new FileInputStream(file1).getChannel();
FileChannel dest = new FileOutputStream(file2).getChannel();
dest.transferFrom(src, 0, src.size());
Et ne pas oublier de gérer les exceptions et tout près dans un bloc finally
.
Whoah. Tu m'as appris. –
Une version plus complète (et correcte) de cette réponse est disponible ici: http://stackoverflow.com/questions/106770/standard-concise-way-to-copy-a-file-in-java/115086#115086. Merci à http://stackoverflow.com/users/92937/twentymiles pour la scolarisation de nous tous. – vkraemer
Réponse complète et efficace: https://gist.github.com/mrenouf/889747 –
Non. Chaque programmeur Java de longue date a sa propre courroie utilitaire qui inclut une telle méthode. Voici la mienne.
public static void copyFileToFile(final File src, final File dest) throws IOException
{
copyInputStreamToFile(new FileInputStream(src), dest);
dest.setLastModified(src.lastModified());
}
public static void copyInputStreamToFile(final InputStream in, final File dest)
throws IOException
{
copyInputStreamToOutputStream(in, new FileOutputStream(dest));
}
public static void copyInputStreamToOutputStream(final InputStream in,
final OutputStream out) throws IOException
{
try
{
try
{
final byte[] buffer = new byte[1024];
int n;
while ((n = in.read(buffer)) != -1)
out.write(buffer, 0, n);
}
finally
{
out.close();
}
}
finally
{
in.close();
}
}
Pas copyFileToInputStream? –
C'était un * extrait *. :) –
Si vous voulez être paresseux et s'enfuir avec l'écriture utilisation de code minimal FileUtils.copyFile(src, dest)
d'Apache IOCommons
C'est le chemin à parcourir! –
Je suis fan du code minimal. Je ne sais pas pourquoi il est "paresseux" d'utiliser un paquet utilitaire. J'aime StringUtils. –
Ou utilisez Files.copy(file1,file2) de la bibliothèque goyave de Google.
Depuis Java 7 vous pouvez utiliser Files.copy()
à partir de la bibliothèque standard de Java.
Vous pouvez créer une méthode d'emballage:
public static void copy(String sourcePath, String destinationPath) throws IOException {
Files.copy(Paths.get(sourcePath), new FileOutputStream(destinationPath));
}
qui peut être utilisé de la manière suivante:
copy("source.txt", "dest.txt");
Dans Java 7 vous pouvez utiliser Files.copy()
et très important est: Do n'oubliez pas de fermer le OutputStream après avoir créé le nouveau fichier.
OutputStream os = new FileOutputStream(targetFile);
Files.copy(Paths.get(sourceFile), os);
os.close();
- 1. Structure Copier vers un autre programme
- 2. Copier un répertoire de référentiels vers un autre serveur
- 3. écrire un fichier btach pour copier des fichiers d'un dossier réseau vers un autre dossier réseau
- 4. Commande Unix pour copier la dernière ligne du fichier vers un autre fichier
- 5. Copier un fichier d'un serveur à un autre
- 6. Déplacement d'un fichier vers un autre serveur
- 7. Copier un CharArrayBuffer dans un autre CharArrayBuffer
- 8. Copier un fichier d'un dossier à un autre
- 9. Comment copier un fichier du système local vers un autre système en C# (application Windows)?
- 10. copier sockaddr_storage vers un autre sockaddr_storage change l'adresse
- 11. Copier la liste d'un site Sharepoint vers un autre site
- 12. copier un fichier d'un répertoire à un autre dir
- 13. Copier un fichier d'un répertoire à un autre par date
- 14. Comment copier des données CComboBox vers un autre CComboBox?
- 15. Copier un fichier volumineux de l'iPhone vers le PC
- 16. Comment utiliser la fonction splice() de Linux pour copier un fichier dans un autre fichier?
- 17. Rediriger ConfigurationManager vers un autre fichier
- 18. Copier un fichier texte
- 19. Fichier BAT pour lire et copier les 16 lignes du bas d'un fichier texte vers un autre?
- 20. Comment puis-je copier un fichier d'un répertoire à un autre avec un fichier .bat
- 21. Copier un répertoire sur un autre lecteur
- 22. jQuery Chemin de copie SVG vers un autre fichier SVG
- 23. Comment copier un XIB dans un autre projet?
- 24. Comment copier le fichier d'un dossier à un autre
- 25. Comment créer un lien d'ancrage vers un autre fichier .php?
- 26. Comment déplacer un fichier d'un serveur vers un autre serveur
- 27. Meilleures pratiques pour copier des fichiers d'une application Web vers un autre serveur
- 28. programme Java pour copier des fichiers depuis/vers un périphérique mobile
- 29. Copie de fichier Java d'un serveur à un autre
- 30. meilleure façon de copier un fichier Zip via Java
Voir http://stackoverflow.com/questions/106770/standard-concise-way-to-copy-a-file-in-java – TwentyMiles