如何使用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