# การใช้งาน read file ในภาษา Dart แบบง่ายๆ
การเขียนโปรแกรมบนภาษา Dart หนึ่งในความสามารถที่พบเห็นได้บ่อยคือการอ่านไฟล์ ไม่ว่าจะเป็นการพัฒนาแอปพลิเคชันบน Flutter หรือการเขียน Script สำหรับการจัดการข้อมูลต่างๆ การอ่านไฟล์เป็นพื้นฐานที่สำคัญมาก ในบทความนี้เราจะมาพูดถึงวิธีการอ่านไฟล์แบบง่ายๆ ในภาษา Dart พร้อมด้วยตัวอย่าง CODE และอธิบายการทำงาน และไม่ลืมที่จะยกตัวอย่าง usecase ในโลกจริงที่คุณสามารถนำไปใช้งานได้
Dart ให้การสนับสนุนการอ่านไฟล์แบบอะซิงโครนัสผ่านคลาส `File` ใน library `dart:io` เพื่อทำให้การอ่านไฟล์ไม่ทำให้เกิดการ block หรือหยุดการทำงานของโปรแกรมอื่นๆ
import 'dart:io';
import 'dart:async';
void main() async {
File file = File('data.txt');
String contents;
try {
contents = await file.readAsString();
print('Contents of the file:\n$contents');
} catch (e) {
print('Error reading file: $e');
}
}
ในตัวอย่างนี้ เราใช้ `await` ร่วมกับ `readAsString()` ซึ่งเป็น method ที่ใช้ในการอ่านไฟล์และแปลงเป็นสตริง
เมื่อต้องการอ่านไฟล์ที่มีขนาดใหญ่ การใช้ Streams ใน Dart ช่วยให้คุณสามารถจัดการข้อมูลได้แบบทีละบรรทัด โดยไม่ต้องโหลดทั้งไฟล์เข้าสู่หน่วยความจำ
import 'dart:io';
void main() {
File file = File('large_data.txt');
Stream lines = file.openRead()
.transform(utf8.decoder) // Decode bytes to UTF-8.
.transform(LineSplitter()); // Convert stream to individual lines.
try {
lines.listen((String line) {
print('Got line: $line');
}, onDone: () {
print('File is now closed.');
}, onError: (e) {
print('Error reading line: $e');
});
} catch (e) {
print('Error opening file: $e');
}
}
ในตัวอย่างนี้ เราใช้ `LineSplitter()` เพื่อที่จะอ่านข้อมูลทีละบรรทัดและประมวลผลไปในขณะที่ได้รับข้อมูล
การจัดการข้อผิดพลาดเป็นส่วนสำคัญของการอ่านไฟล์ เราจะใช้ `try-catch` เพื่อจับข้อผิดพลาดที่อาจเกิดขึ้น
import 'dart:io';
void main() {
File file = File('missing_file.txt');
try {
String contents = file.readAsStringSync();
print(contents);
} catch (e) {
print('Caught error: $e');
}
}
ในตัวอย่างนี้ เราอ่านไฟล์ในโหมดซิงโครนัส และจับข้อผิดพลาดหากไฟล์ที่ระบุไม่มีอยู่จริง
การอ่านไฟล์มีความสำคัญในหลายสถานการณ์ ดังตัวอย่างการพัฒนา config tool สำหรับอ่านค่าการตั้งค่าจากไฟล์ `.env` หรือไฟล์ `config.json` ในการตั้งค่าการเชื่อมต่อกับฐานข้อมูลหรือ API ต่างๆ
นอกจากนี้, สำหรับการจัดการข้อมูลที่เก็บไว้ในไฟล์ CSV หรือ Log Files การอ่านไฟล์เพื่อวิเคราะห์หรือ transform ข้อมูลก็เป็นสิ่งที่ทำกันบ่อยในโลกของการทำ Data Science
การอ่านไฟล์ในภาษา Dart นั้นไม่ใช่เรื่องยาก ด้วย library `dart:io` และการใช้งาน Streams ทำให้ Dart เป็นภาษาที่มีประสิทธิภาพสูงในการทำงานกับไฟล์ขนาดใหญ่หรือจัดการข้อมูลได้อย่างรวดเร็วและง่ายดาย
หากคุณสนใจในการเรียนรู้การเขียนโปรแกรม ที่ EPT เรามีคอร์สเรียนรู้การเขียนโปรแกรมที่จะพาคุณไปถึงขีดจำกัดของความสามารถในการพัฒนาและการจัดการข้อมูลขั้นสูง อย่ารอช้า มาร่วมเรียนรู้และพัฒนาทักษะการเขียนโปรแกรมกับเราที่ EPT วันนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: dart file_handling dart:io asynchronous synchronous streams error_handling data_science csv_files log_files usecase real-world_example tutorial programming_language file_reading
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM