Heim >Java >javaLernprogramm >Wie lese ich mit Java alle Dateien in einem Ordner in eine einzige Datei?

Wie lese ich mit Java alle Dateien in einem Ordner in eine einzige Datei?

王林
王林nach vorne
2023-08-27 12:01:131382Durchsuche

Die Methode

listFiles()Wie lese ich mit Java alle Dateien in einem Ordner in eine einzige Datei? der Klasse

File gibt ein Array zurück, das das aktuelle (Datei-)Objekt enthält.

Lesen Sie den Inhalt aller Dateien in einem Ordner in eine einzige Datei –

  • Durch Übergabe des zum Erstellen des Dateiobjekts erforderlichen Dateipfads als Argument.
  • Lesen Sie den Inhalt jeder Datei mit dem Scanner oder einem anderen Lesegerät.
  • Hängen Sie den gelesenen Inhalt an den StringBuffer an.
  • Schreiben Sie den StringBuffer-Inhalt in die gewünschte Ausgabedatei.

Beispiel

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");
      }
   }
}

Ausgabe

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

Das obige ist der detaillierte Inhalt vonWie lese ich mit Java alle Dateien in einem Ordner in eine einzige Datei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen