JavaRush /Blog Java /Random-FR /Pause café #99. Comment copier des fichiers d'un répertoi...

Pause café #99. Comment copier des fichiers d'un répertoire à un autre en Java. Chaînes en Java

Publié dans le groupe Random-FR

Comment copier des fichiers d'un répertoire à un autre en Java

Source : DZone Je programme en Java depuis longtemps, et vous ne le croirez pas, mais avant Java 7, il n'existait aucune méthode pour copier des fichiers dans l'API Java. Nos seules options étaient de l'écrire nous-mêmes, en utilisant FileInputStream, FileOutputStream et un tampon pour copier les octets de l'un à l'autre ; ou mieux encore, utilisez la méthode FileChannel.transferTo() ou Apache Commons FileUtils, qui étaient une bouée de sauvetage à l'époque et existent toujours aujourd'hui. Pause café #99.  Comment copier des fichiers d'un répertoire à un autre en Java.  Chaînes en Java - 1Le JDK a maintenant évolué et il existe déjà une API décente pour copier des fichiers d'un répertoire à un autre. Dans cet article, je vais vous montrer comment nous copiions des fichiers d'un répertoire à un autre avant Java 7, ainsi qu'une manière moderne qui rend cette tâche beaucoup plus facile.

1. Copie de fichiers d'un répertoire à un autre avant Java 7

Dépendance : Apache Commons IO

1.1 FileUtils.copyFile (source du fichier, destination du fichier) Cette méthode copie le fichier vers un nouvel emplacement tout en conservant l'horodatage du fichier. Il copie également le contenu du fichier source spécifié vers le fichier de destination spécifié. Le répertoire contenant le fichier cible est créé s'il n'existe pas . Si le fichier cible existe, cette méthode l'écrasera.
import java.io.File;

import java.io.IOException;



import org.apache.commons.io.FileUtils;



/**

* Java program to copy a file from one directory to another e.g. from src to dest

*

* @author Javin

*/

public class FileCopyDemo {



public static void main(String args[]) {



// Using Apache Commons FileUtils class

File srcFile = new File("bin/HelloWorld.class");

File destFile = new File("target/HelloWorld.class");

try {

FileUtils.copyFile(srcFile, destFile);

System.out.println("File successfully copied in Java");

} catch (IOException e) {

e.printStackTrace();

}



}



}

Output:

System.out.println("File successfully copied in Java");
1.2 Copier un fichier dans un répertoire tout en conservant un horodatage Cette méthode copie le contenu du fichier source spécifié dans un fichier du même nom dans le répertoire cible spécifié. Le répertoire cible est créé s'il n'existe pas . Si le fichier cible existe, cette méthode l'écrasera.
import java.io.File;

import java.io.IOException;



import org.apache.commons.io.FileUtils;



/**

* Java program to copy a file from one directory to another like from src to dest

*

* @author Javin Paul

*/

public class Testing {



public static void main(String args[]) {



// Using Apache Commons FileUtils class

File srcFile = new File("bin/HelloWorld.class");

File destDir = new File("target");

try {

FileUtils.copyFileToDirectory(srcFile, destDir);



System.out.println("File successfully copied to destination directory in Java");

} catch (IOException e) {

e.printStackTrace();

}



}



}



Output

File successfully copied to destination directory in Java

2. Copiez les fichiers d'un répertoire à un autre à l'aide de l'API Java 7 NIO 2.

Java 7 dispose d'une méthode standard pour copier des fichiers : Files.copy . Il s'intègre aux E/S natives pour offrir des performances élevées.
import java.io.IOException;

import java.nio.file.Files;

import java.nio.file.Path;



import static java.nio.file.StandardCopyOption.*;

import static java.nio.file.LinkOption.*;



/**

* Java program to copy file using Java 7 Files.copy() method

*

* @author Javin Paul

*/

public class FileCopyDemo {



public static void main(String args[]) {



try {

Path bytes = Files.copy(

new Java.io.File("bin/HelloWorld.class").toPath(),

new java.io.File("target/HelloWorld.class").toPath(),

REPLACE_EXISTING,

COPY_ATTRIBUTES,

NOFOLLOW_LINKS);

System.out.println("File successfully copied using Java 7 way");



} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}



}



}
Vous pouvez également copier des fichiers en Java en écrivant du code à l'aide de FileInputStream et FileOuputStream , mais cela n'est pas nécessaire si Java 7 est installé. La classe Apache Commons IO FileUtils est également une alternative pratique. Pour la copie et le transfert de fichiers à grande vitesse, vous pouvez également profiter des classes java.nio et FileChannel , mais sachez qu'il existe un bug dans Windows qui vous empêche de transférer plus de 64 Go de données de canal.

Chaînes en Java

Source : Dev.to Comme d'autres langages de programmation, une chaîne en Java est une séquence de caractères. Mais Java n'implémente pas une chaîne sous la forme d'un tableau de caractères, mais la traite comme un objet String complet . Pause café #99.  Comment copier des fichiers d'un répertoire à un autre en Java.  Chaînes en Java - 2

Comment créer un objet chaîne à l'aide du nouveau mot-clé et des littéraux

Il existe deux manières de créer un objet chaîne : en utilisant le mot-clé new ou en utilisant des littéraux. La représentation littérale signifie représenter sa valeur sous forme d'entier ou de chaîne. Le code ci-dessous montre comment créer une chaîne à l'aide du nouveau mot-clé.
String a = new String();
Comme nous le savons, le mot-clé new est utilisé pour créer une instance de cette classe. Ci-dessus, nous avons créé une instance de chaîne de type « a » sans caractères. Pour créer une chaîne contenant une valeur, vous pouvez procéder comme ceci.
char name[] = {'x','y','z'}
String a = new String(chars);
Ci-dessus, nous avons créé un tableau de caractères name[ ] avec les valeurs « x », « y », « z », puis avons attribué ce tableau complet à la chaîne « a ». Nous avons utilisé le constructeur de la classe String pour initialiser la valeur de la chaîne. Comme nous l'avons vu ci-dessus, créer une chaîne à l'aide du mot-clé new est un peu déroutant et prend du temps. Mais il existe un moyen très simple, et c’est là que les littéraux viennent à notre secours.
String s = "xyz";
C'est ainsi que nous créons une chaîne en Java en utilisant des littéraux. Pour chaque chaîne littérale d'un programme, Java crée automatiquement un objet String avec une valeur initiale qui lui est fournie. Vous pouvez utiliser une chaîne littérale n'importe où dans un programme pour créer un objet chaîne à partir de celui-ci.

Exemple de chaîne

Voici le code d'un programme Hello world simple avec quelques lignes.
public class HelloWorld {
    public static void main(String args[]) {

        String s1 = new String("Hello World using new keyword"); // Using new keyword
        String s2 = "Hello World using literals";

        System.out.println(s1);
        System.out.println(s2);
}
}
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION