如何使用Java将文件夹中的所有文件读取到单个文件?

File类的listFiles()方法返回一个数组,其中包含当前(File)对象表示的路径中所有文件(和目录)的对象(抽象路径)。

要将文件夹中所有文件的内容读入单个文件 -

  • 通过将所需的文件路径作为参数传递来创建文件对象。

  • 使用 Scanner 或任何其他阅读器读取每个文件的内容。

  • 将读取的内容附加到 StringBuffer 中。

  • 将 StringBuffer 内容写入所需的输出文件。

示例

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 {

      //为目录创建一个 File 对象

      File directoryPath = new File("D:\\SampleDirectory");

      //所有文件和目录的列表

      File filesList[] = directoryPath.listFiles();

       System.out.println("指定目录中的文件和目录列表:");

      Scanner sc = null;

      StringBuffer sb = new StringBuffer();

      for(File file : filesList) {

         System.out.println("文件名: "+file.getName());

         System.out.println("文件路径: "+file.getAbsolutePath());

         System.out.println("尺寸 :"+file.getTotalSpace());

         //实例化 Scanner 类

         sc= new Scanner(file);

         String input;

         while (sc.hasNextLine()) {

            input = sc.nextLine();

            sb.append(input+" ");

         }

         System.out.println("文件内容: "+sb.toString());

         System.out.println(" ");        

           //实例化 FileOutputStream 类

         FileOutputStream fileOut = new FileOutputStream("D:\\output.txt");

         //实例化 DataOutputStream 类

         DataOutputStream outputStream = new DataOutputStream(fileOut);

         //将 UTF 数据写入输出流

         outputStream.write(sb.toString().getBytes());

         outputStream.flush();

         System.out.println("Data entered into the file");

      }

   }

}

输出结果
指定目录中的文件和目录列表:

文件名: sample1.txt

文件路径: D:\SampleDirectory\sample1.txt

文件内容: sample text file1

Data entered into the file

文件名: sample2.txt

文件路径: D:\SampleDirectory\sample2.txt

文件内容: sample text file2

Data entered into the file

文件名: sample3.txt

文件路径: D:\SampleDirectory\sample3.txt

文件内容: sample text file3

Data entered into the file

以上是 如何使用Java将文件夹中的所有文件读取到单个文件? 的全部内容, 来源链接: utcz.com/z/341454.html

回到顶部