ไดเรกทอรี พาธ และ FileSystemEntity
นำทางและตรวจสอบระบบไฟล์
ไดเรกทอรี พาธ และ FileSystemEntity เป็นบทเรียน Dart Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Dart Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คลาสไดเรกทอรี
เช่นเดียวกับที่ File ใช้ระบุไฟล์ คลาส Directory ใช้ระบุโฟลเดอร์ คุณสร้างออบเจ็กต์จากสตริงเส้นทาง เพื่อเตรียมตรวจสอบหรือสร้างโฟลเดอร์
final dir = Directory('logs');สร้างโฟลเดอร์
เรียกใช้ create เพื่อสร้างโฟลเดอร์ เพิ่ม recursive: true แล้ว Dart จะสร้างโฟลเดอร์แม่ที่ขาดหายทั้งหมดให้ในครั้งเดียว
await dir.create(recursive: true);โปรแกรมกำลังทำงานที่ใด
ต้องการโฟลเดอร์ที่โปรแกรมเริ่มทำงานใช่หรือไม่ Directory.current จะคืนไดเรกทอรีทำงาน ซึ่งเป็นจุดอ้างอิงสำหรับเส้นทางสัมพัทธ์
print(Directory.current.path);แสดงเนื้อหาโฟลเดอร์
ใช้ list เพื่อสตรีมสิ่งที่อยู่ภายในโฟลเดอร์ แต่ละเหตุการณ์คือเอนทิตีหนึ่งรายการที่คุณตรวจสอบได้ทีละรายการ
await for (final e in dir.list()) print(e.path);ลงลึกด้วย recursive
ส่ง recursive: true ให้ list เพื่อเดินเข้าไปในโฟลเดอร์ย่อยทั้งหมด และเยี่ยมชมโครงสร้างต้นไม้ทั้งชุดภายใต้ไดเรกทอรีของคุณ
dir.list(recursive: true);FileSystemEntity ผู้เป็นคลาสแม่
ทั้งไฟล์และไดเรกทอรีต่างก็ขยายจาก FileSystemEntity ฐานร่วมนี้เองที่ทำให้ list ส่งคืนได้ทั้งสองชนิดในสตรีมเดียว
เป็นประเภทใด
หากต้องการแยกไฟล์ออกจากโฟลเดอร์ ให้ใช้ FileSystemEntity.isDirectory หรือตรวจสอบประเภทของเอนทิตี วิธีนี้ช่วยให้แขนงต่าง ๆ ในลูปทำงานได้อย่างปลอดภัย
if (await FileSystemEntity.isDirectory(e.path)) {}ต่อเส้นทางอย่างปลอดภัย
อย่านำเส้นทางมาต่อกันด้วยสตริงธรรมดา แพ็กเกจ path จะต่อส่วนต่าง ๆ โดยใช้ตัวคั่นที่ถูกต้องสำหรับแต่ละแพลตฟอร์ม
import 'package:path/path.dart' as p;สร้างเส้นทาง
เรียกใช้ p.join พร้อมส่วนต่าง ๆ ของเส้นทาง แล้วคุณจะได้เส้นทางที่สะอาดและถูกต้องเหมือนกันทั้งบน Windows, macOS และ Linux
final full = p.join('data', 'users', 'a.txt');แยกส่วนเส้นทาง
แยกเส้นทางออกเป็นส่วน ๆ ด้วยตัวช่วย เช่น p.basename สำหรับชื่อไฟล์ และ p.dirname สำหรับโฟลเดอร์ของไฟล์
print(p.basename('/data/a.txt'));รับนามสกุลไฟล์
ต้องการเฉพาะส่วนท้ายใช่หรือไม่ p.extension จะคืนค่านามสกุลพร้อมจุด ทำให้กรองไฟล์ตามประเภทได้ง่าย
print(p.extension('photo.png'));ตรวจสอบสั้น ๆ
คุณต้องการสร้างเส้นทางจากหลายส่วนที่ใช้ได้ข้ามแพลตฟอร์ม วิธีที่ปลอดภัยคืออะไร
สรุป
คุณสามารถสร้างโฟลเดอร์ แสดงเนื้อหาแบบเรียกซ้ำ แยกไฟล์ออกจากไดเรกทอรี และสร้างเส้นทางอย่างปลอดภัยด้วยแพ็กเกจ path ได้แล้ว
เรียนรู้ Dart ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “ไดเรกทอรี พาธ และ FileSystemEntity” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ไดเรกทอรี พาธ และ FileSystemEntity” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Dart Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Dart Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ไดเรกทอรี พาธ และ FileSystemEntity”
นำทางและตรวจสอบระบบไฟล์ คุณปฏิบัติ Dart Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Dart Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Dart Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “ไดเรกทอรี พาธ และ FileSystemEntity” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Dart Academy นี้ได้ไหม
ได้ บทเรียน Dart Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การอ่านและเขียนไฟล์
- ไดเรกทอรี พาธ และ FileSystemEntity
- การสตรีมไฟล์ขนาดใหญ่
- Stdin, Stdout และอาร์กิวเมนต์ของกระบวนการ