Dart Academy · บทเรียน

ไดเรกทอรี พาธ และ FileSystemEntity

นำทางและตรวจสอบระบบไฟล์

บทเรียน 2 จาก 413 ขั้นตอน

ไดเรกทอรี พาธ และ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การอ่านและเขียนไฟล์
  2. ไดเรกทอรี พาธ และ FileSystemEntity
  3. การสตรีมไฟล์ขนาดใหญ่
  4. Stdin, Stdout และอาร์กิวเมนต์ของกระบวนการ
← กลับไปที่ Dart Academy