Maison >Java >javaDidacticiel >Comment lire tous les fichiers d'un dossier dans un seul fichier à l'aide de Java ?

Comment lire tous les fichiers d'un dossier dans un seul fichier à l'aide de Java ?

王林
王林avant
2023-08-27 12:01:131382parcourir

La méthode

listFiles()Comment lire tous les fichiers dun dossier dans un seul fichier à laide de Java ? de la classe

File renvoie un tableau contenant l'objet (fichier) actuel.

Lire le contenu de tous les fichiers d'un dossier dans un seul fichier -

  • En passant en argument le chemin du fichier requis pour créer l'objet fichier.
  • Lisez le contenu de chaque fichier à l'aide du Scanner ou de tout autre lecteur.
  • Ajoutez le contenu lu au StringBuffer.
  • Écrivez le contenu de StringBuffer dans le fichier de sortie souhaité.

Exemple

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Test {
   public static void main(String args[]) throws IOException {
      //Creating a File object for directory
      File directoryPath = new File("D:\SampleDirectory");
      //List of all files and directories
      File filesList[] = directoryPath.listFiles();
       System.out.println("List of files and directories in the specified directory:");
      Scanner sc = null;
      StringBuffer sb = new StringBuffer();
      for(File file : filesList) {
         System.out.println("File name: "+file.getName());
         System.out.println("File path: "+file.getAbsolutePath());
         System.out.println("Size :"+file.getTotalSpace());
         //Instantiating the Scanner class
         sc= new Scanner(file);
         String input;
         while (sc.hasNextLine()) {
            input = sc.nextLine();
            sb.append(input+" ");
         }
         System.out.println("Contents of the file: "+sb.toString());
         System.out.println(" ");        
           //Instantiating the FileOutputStream class
         FileOutputStream fileOut = new FileOutputStream("D:\output.txt");
         //Instantiating the DataOutputStream class
         DataOutputStream outputStream = new DataOutputStream(fileOut);
         //Writing UTF data to the output stream
         outputStream.write(sb.toString().getBytes());
         outputStream.flush();
         System.out.println("Data entered into the file");
      }
   }
}

Sortie

List of files and directories in the specified directory:
File name: sample1.txt
File path: D:\SampleDirectory\sample1.txt
Contents of the file: sample text file1

Data entered into the file
File name: sample2.txt
File path: D:\SampleDirectory\sample2.txt
Contents of the file: sample text file2

Data entered into the file
File name: sample3.txt
File path: D:\SampleDirectory\sample3.txt
Contents of the file: sample text file3

Data entered into the file

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer