listFiles () phương thức của Tệp lớp trả về một mảng chứa các đối tượng (đường dẫn trừu tượng) của tất cả các tệp (và thư mục) trong đường dẫn được đại diện bởi đối tượng (Tệp) hiện tại.
Để đọc nội dung của tất cả các tệp trong một thư mục thành một tệp duy nhất -
- Tạo một đối tượng tệp bằng cách chuyển đường dẫn tệp bắt buộc làm tham số.
- Đọc nội dung của từng tệp bằng Máy quét hoặc bất kỳ trình đọc nào khác.
- Nối nội dung đã đọc vào StringBuffer.
- Ghi nội dung StringBuffer vào tệp đầu ra cần thiết.
Ví dụ
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"); } } }
Đầu ra
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