ฉันทำให้มันทำงานโดยไม่มีการอ้างอิงถึง "class" หรือ "ClassLoader"
สมมติว่าเรามีสถานการณ์จำลองสามสถานการณ์ด้วยที่ตั้งของไฟล์ 'example.file' และไดเรกทอรีทำงานของคุณ (ที่ที่แอปของคุณดำเนินการ) คือ home / mydocuments / program / projects / myapp:
ก) การสืบทอดโฟลเดอร์ย่อยไปยังไดเร็กทอรีการทำงาน: myapp / res / files / example.file
b) โฟลเดอร์ย่อยที่ไม่สืบทอดในไดเรกทอรีการทำงาน: projects / files / example.file
b2) โฟลเดอร์ย่อยอื่นที่ไม่สืบทอดมาสู่ไดเรกทอรีการทำงาน: program / files / example.file
c) โฟลเดอร์รูท: home / mydocuments / files / example.file (Linux; ใน Windows แทนที่ home / ด้วย C :)
1) หาเส้นทางที่ถูกต้อง: a) String path = "res/files/example.file";
b) String path = "../projects/files/example.file"
b2) String path = "../../program/files/example.file"
c)String path = "/home/mydocuments/files/example.file"
โดยทั่วไปถ้าเป็นโฟลเดอร์รูทให้เริ่มต้นชื่อพา ธ ด้วยเครื่องหมายสแลช หากเป็นโฟลเดอร์ย่อยต้องไม่มีเครื่องหมายทับอยู่หน้าชื่อพา ธ หากโฟลเดอร์ย่อยไม่ได้อยู่ในไดเรกทอรีที่ใช้งานได้คุณต้องใช้ซีดีโดยใช้ "../" สิ่งนี้บอกให้ระบบเพิ่มขึ้นหนึ่งโฟลเดอร์
2) สร้างวัตถุไฟล์โดยผ่านเส้นทางที่ถูกต้อง:
File file = new File(path);
3) ตอนนี้คุณพร้อมแล้วที่จะไป:
BufferedReader br = new BufferedReader(new FileReader(file));