CodeGym /จาวาบล็อก /สุ่ม /Java.io.ไฟล์คลาส
John Squirrels
ระดับ
San Francisco

Java.io.ไฟล์คลาส

เผยแพร่ในกลุ่ม
ในหลายกรณี โปรแกรมจำเป็นต้องเข้าถึงไฟล์บางไฟล์ในการทำงาน ตัวอย่างเช่น ข้อมูลผู้ใช้สามารถบันทึกลงในไฟล์ภายนอกบางไฟล์ได้ และเพื่อที่จะอ่านมัน โปรแกรมจะต้องสามารถทำงานกับมันได้ เปิด อ่านข้อมูล อาจแก้ไขและปิดได้ เพื่อวัตถุประสงค์เหล่านี้ ภาษาการเขียนโปรแกรม Java มีคลาสJava.io.File ในบทความนี้เราจะพิจารณาว่าเป็นคลาสประเภทใดและยกตัวอย่างการทำงานกับคลาสนั้น

คลาสไฟล์ Java คืออะไร

คลาสไฟล์ถูกกำหนดไว้ใน แพ็คเกจ java.ioและไม่สามารถทำงานกับสตรีมได้โดยตรง คลาส Java Fileคือการจัดการข้อมูลเกี่ยวกับไฟล์และไดเร็กทอรี ดังที่คุณทราบ ในระดับระบบปฏิบัติการ ไฟล์และไดเร็กทอรีเป็นวัตถุที่แตกต่างกัน อย่างไรก็ตามใน Java ทั้งคู่อธิบายไว้ในคลาสFile เดียวกัน คุณอาจสงสัยว่าทำไมไม่เพียงแค่ใช้สตริงเพื่ออ้างถึงไฟล์? ประการแรก เนื่องจากการเข้าถึงไฟล์จะแตกต่างกันไปตามระบบปฏิบัติการที่แตกต่างกัน

ตัวสร้างคลาสไฟล์

ขึ้นอยู่กับว่า อ็อบเจ็กต์ Java.io.File Class ควรเป็นตัวแทนของไฟล์หรือไดเร็กทอรี เราสามารถใช้หนึ่งในคอนสตรัคเตอร์เพื่อสร้างอ็อบเจ็กต์: ไฟล์(ชื่อพาธสตริง)ในกรณีนี้คอนสตรัคเตอร์จะสร้าง อินสแตนซ์ ไฟล์ ใหม่ โดยการแปลงชื่อพาธที่กำหนด สตริงเป็นชื่อพาธนามธรรม ไฟล์ (String myPath, String myString)ตัวสร้างนี้สร้าง อินสแตนซ์ ไฟล์ ใหม่ จากสตริงชื่อพาธ myPath และสตริงชื่อพาธ myString ไฟล์ (พาเรนต์ของไฟล์ ชื่อสตริง)สร้าง อินสแตนซ์ ของไฟล์ ใหม่ จากชื่อพาธนามธรรมของไฟล์และสตริงชื่อพาธ ไฟล์ (URI uri) ในตัวสร้างในกรณีนี้จะสร้างอินสแตนซ์ ไฟล์ใหม่โดยการแปลงไฟล์ที่กำหนด: URI เป็นชื่อพาธแบบนามธรรม URI เป็นคลาส Java ที่แสดงการอ้างอิง Uniform Resource Identifier (URI) นี่คือตัวอย่างของ ตัวสร้างคลาส Java.io.File ที่แตกต่างกัน :
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class FileTest {
   public static void main(String[] args) throws URISyntaxException {
       File myFile1 = new File("d:\\MyCat");
       File myFile2 = new File ("d:\\MyCat", "cat.txt");
       File myFile3 = new File(myFile1, "cat.txt");
       URI uri = new URI ("https://docs.oracle.com/javase/7/docs/api/java/net/URI.html");
       File myFile4 = new File(uri);
   }
}

วิธีการของคลาสไฟล์

คลาส Java Fileมีหลายวิธีที่ทำให้คุณสามารถจัดการไฟล์และไดเร็กทอรีได้ ลองพิจารณาบางส่วนของพวกเขา:
  • บูลีน createNewFile()สร้างไฟล์ใหม่ที่เส้นทางที่ส่งผ่านไปยังตัวสร้าง คืนค่าเป็นจริงหากสำเร็จ มิเช่นนั้นจะเป็นเท็จ

  • boolean Delete()ลบไดเร็กทอรีหรือไฟล์ในพาธที่ส่งผ่านไปยังคอนสตรัคเตอร์ คืนค่าเป็นจริงเมื่อลบสำเร็จ

  • boolean existing()ตรวจสอบว่ามีไฟล์หรือไดเร็กทอรีอยู่ที่เส้นทางที่ระบุในตัวสร้างหรือไม่ หากมีไฟล์หรือไดเร็กทอรีอยู่ ให้คืนค่าเป็น true มิฉะนั้นจะคืนค่าเป็น false

  • สตริง getAbsolutePath()ส่งคืนเส้นทางสัมบูรณ์สำหรับเส้นทางที่ส่งผ่านไปยังตัวสร้างของวัตถุ

  • สตริง getName()ส่งคืนชื่อย่อของไฟล์หรือไดเร็กทอรี

  • String getParent()ส่งคืนชื่อของไดเร็กทอรีพาเรนต์

  • boolean isDirectory()คืนค่าเป็นจริงหากพาธที่กำหนดมีไดเร็กทอรี

  • boolean isFile()จะคืนค่าเป็นจริงหากมีไฟล์อยู่ในพาธที่กำหนด

  • boolean isHidden()จะคืนค่าเป็นจริงหากไดเร็กทอรีหรือไฟล์ถูกซ่อนอยู่

  • long length()ส่งคืนขนาดของไฟล์เป็นไบต์

  • long LastModified()ส่งคืนเวลาที่ไฟล์หรือไดเร็กทอรีถูกแก้ไขครั้งล่าสุด ค่านี้แสดงถึงจำนวนมิลลิวินาทีที่ผ่านไปนับตั้งแต่ยุค Unix

  • String[] list()ส่งคืนอาร์เรย์ของไฟล์และไดเร็กทอรีย่อยที่อยู่ในไดเร็กทอรีเฉพาะ

  • File[] listFiles()ส่งคืนอาร์เรย์ของไฟล์และไดเร็กทอรีย่อยที่อยู่ในไดเร็กทอรีเฉพาะ

  • boolean mkdir()สร้างไดเร็กทอรีใหม่และคืนค่าเป็นจริงหากสำเร็จ

  • boolean renameTo(File dest)เปลี่ยนชื่อไฟล์หรือไดเร็กทอรี

คุณสมบัติบางอย่างของคลาสไฟล์ Java

  • เส้นทาง นามธรรม หรือสตริง อาจเป็นได้ทั้งแบบสัมบูรณ์หรือแบบสัมพัทธ์ พาเรนต์ของพาธนามธรรมสามารถดึงข้อมูลได้โดยการเรียกเมธอดgetParent()ของคลาสนั้น

  • ขั้นแรกเราควรสร้างอ็อบเจ็กต์ของ คลาส Fileโดยส่งผ่านชื่อไฟล์หรือไดเร็กทอรี ระบบไฟล์สามารถกำหนดข้อจำกัดในการดำเนินการบางอย่างกับอ็อบเจ็กต์ระบบไฟล์จริง เช่น การอ่าน การเขียน และการดำเนินการ ข้อจำกัดเหล่านี้เรียกว่าสิทธิ์การเข้าถึง

  • อินสแตนซ์ของ คลาส Fileจะไม่เปลี่ยนรูป นั่นหมายความว่าเมื่อคุณสร้างไฟล์แล้ว เส้นทางนามธรรมที่แสดงโดย ออบเจ็กต์ Fileจะไม่เปลี่ยนแปลง

ตัวอย่างโค้ดคลาสไฟล์

มาสร้างโปรแกรมที่ทำงานกับไดเร็กทอรีกันดีกว่า ก่อนอื่นควรสร้างไดเร็กทอรีตามเส้นทางที่กำหนด จากนั้นสร้างไฟล์ใหม่และตรวจสอบว่ามีไฟล์และไดเร็กทอรีอยู่หรือไม่
import java.io.File;
import java.io.IOException;

public class FileTest2 {
   public static void main(String[] args) throws IOException {

       //create a directory using mkdir() File class method
       File dir = new File("d:\\MyDir");
       boolean created = dir.mkdir();
       if(created)
           System.out.println("Folder has been created...");
       else
           System.out.println("Folder hasn't been created...");
       File myFile = new File("d:\\MyDir\\cat.txt");
       myFile.createNewFile();
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if(myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");
      }
}
นี่คือผลลัพธ์:
สร้างโฟลเดอร์แล้ว... ชื่อไฟล์: cat.txt โฟลเดอร์หลัก: d:\MyDir มีไฟล์อยู่
อย่างไรก็ตาม หากคุณทำทุกอย่างถูกต้อง คุณจะพบไดเร็กทอรีใหม่และไฟล์ในคอมพิวเตอร์ของคุณ ตอนนี้เรามาเขียนโปรแกรมที่เราสามารถทำงานกับไดเร็กทอรีที่สร้างและไฟล์ได้ ที่นี่เราใช้วิธีบางอย่างที่อธิบายไว้ข้างต้น
import java.io.File;

public class FileTest3 {

   public static void main(String[] args) {

       File dir = new File("d:\\MyDir");
       File myFile = new File("d:\\MyDir\\cat.txt");
       System.out.println("File name: " + myFile.getName());
       System.out.println("Parent folder: " + myFile.getParent());
       if (myFile.exists())
           System.out.println("File exists");
       else
           System.out.println("File not found");

       System.out.println("Absolute path: " + myFile.getAbsolutePath());

       if (myFile.exists()) {
           System.out.println("Is writable: " + myFile.canWrite());
           System.out.println("Is readable: " + myFile.canRead());
           System.out.println("Is a directory: " + myFile.isDirectory());
           System.out.println("myFile Size in bytes = " + myFile.length());

       }
   }
}
ผลลัพธ์ของโปรแกรมคือ:
ชื่อไฟล์: cat.txt โฟลเดอร์หลัก: d:\MyDir มีไฟล์อยู่ พาธที่แน่นอน: d:\MyDir\cat.txt เขียนได้: true สามารถอ่านได้: true เป็นไดเร็กทอรี: false myFile ขนาดเป็นไบต์ = 0
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION