Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะอ่านไฟล์ทั้งหมดในโฟลเดอร์เป็นไฟล์เดียวโดยใช้ Java ได้อย่างไร


listFiles() วิธีการของ ไฟล์ class ส่งคืนอาร์เรย์ที่ถือวัตถุ (เส้นทางนามธรรม) ของไฟล์ทั้งหมด (และไดเรกทอรี) ในเส้นทางที่แสดงโดยวัตถุ (ไฟล์) ปัจจุบัน

หากต้องการอ่านเนื้อหาของไฟล์ทั้งหมดในโฟลเดอร์เป็นไฟล์เดียว -

  • สร้างวัตถุไฟล์โดยส่งเส้นทางไฟล์ที่ต้องการเป็นพารามิเตอร์
  • อ่านเนื้อหาของแต่ละไฟล์โดยใช้ Scanner หรือโปรแกรมอ่านอื่นๆ
  • ผนวกเนื้อหาที่อ่านลงใน StringBuffer
  • เขียนเนื้อหา StringBuffer ลงในไฟล์เอาต์พุตที่ต้องการ

ตัวอย่าง

<ก่อนหน้า> นำเข้า java.io.DataOutputStream นำเข้า java.io.File นำเข้า java.io.FileOutputStream นำเข้า java.io.IOException นำเข้า java.util.Scanner ทดสอบคลาสสาธารณะ { โมฆะหลักสาธารณะแบบคงที่ (สตริง args [ ]) พ่น IOException { //การสร้างวัตถุไฟล์สำหรับไดเรกทอรี File directoryPath =new File ("D:\\SampleDirectory"); //รายการไฟล์และไดเร็กทอรีทั้งหมด File filesList[] =directoryPath.listFiles(); System.out.println("รายการไฟล์และไดเร็กทอรีในไดเร็กทอรีที่ระบุ:"); สแกนเนอร์ sc =null; StringBuffer sb =ใหม่ StringBuffer(); สำหรับ (ไฟล์ไฟล์:filesList) { System.out.println ("ชื่อไฟล์:"+file.getName ()); System.out.println("เส้นทางของไฟล์:"+file.getAbsolutePath()); System.out.println("ขนาด :"+file.getTotalSpace()); // การตรวจสอบคลาส Scanner sc=new Scanner (ไฟล์); อินพุตสตริง; ในขณะที่ (sc.hasNextLine ()) { อินพุต =sc.nextLine (); sb.append(อินพุต+" "); } System.out.println("เนื้อหาของไฟล์:"+sb.toString()); System.out.println(" "); //ตรวจสอบคลาส FileOutputStream FileOutputStream fileOut =new FileOutputStream("D:\\output.txt"); // การตรวจสอบคลาส DataOutputStream DataOutputStream outputStream =DataOutputStream ใหม่ (fileOut); // การเขียนข้อมูล UTF ไปยังเอาต์พุตสตรีม outputStream.write(sb.toString().getBytes()); outputStream.flush(); System.out.println("ข้อมูลที่ป้อนลงในไฟล์"); } }}

ผลลัพธ์

รายการไฟล์และไดเรกทอรีในไดเร็กทอรีที่ระบุ:ชื่อไฟล์:sample1.txtเส้นทางไฟล์:D:\SampleDirectory\sample1.txtเนื้อหาของไฟล์:ข้อความตัวอย่าง file1ข้อมูลที่ป้อนลงในไฟล์ชื่อไฟล์:sample2.txtเส้นทางไฟล์:D:\ SampleDirectory\sample2.txtContents ของไฟล์:ตัวอย่าง text file2Data ที่ป้อนลงในไฟล์ชื่อไฟล์:sample3.txtFile path:D:\SampleDirectory\sample3.txtContents ของไฟล์:ไฟล์ข้อความตัวอย่าง3ข้อมูลที่ป้อนลงในไฟล์