Operasi Sistem Fail
Pelajari cara membaca daripada dan menulis ke sistem fail peranti, sekali gus membolehkan penyimpanan fail yang lebih besar dan format data tersuai.
Operasi Sistem Fail ialah pelajaran Pembangunan Aplikasi Mudah Alih Flutter percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pembangunan Aplikasi Mudah Alih Flutter, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pembangunan Aplikasi Mudah Alih Flutter merangkumi sejumlah 4 pelajaran.
Menyimpan Data dalam Fail
Kadang-kadang, aplikasi anda perlu menyimpan data terus pada peranti. Di sinilah operasi sistem fail diperlukan! Tidak seperti shared_preferences (untuk data kunci-nilai yang kecil) atau sqflite (untuk data berstruktur), operasi sistem fail membolehkan anda mengurus fail secara langsung.
Anda boleh menyimpan data yang lebih besar seperti imej, audio atau fail teks berformat tersuai yang tidak sesuai disimpan dalam pangkalan data atau pasangan kunci-nilai ringkas.
Di manakah Fail Disimpan?
Sebelum anda boleh membaca atau menulis fail, aplikasi anda perlu tahu di mana fail tersebut boleh disimpan. Flutter menyediakan pakej path_provider untuk membantu anda mencari laluan direktori biasa dengan selamat merentas platform yang berbeza (iOS, Android, web, desktop).
- Direktori Dokumen Aplikasi: Di sinilah aplikasi anda boleh menyimpan data khusus pengguna yang perlu dikekalkan.
- Direktori Sementara: Untuk data yang tidak perlu dikekalkan antara pelancaran aplikasi, seperti fail cache.
Mendapatkan Laluan Aplikasi
Mari gunakan path_provider untuk mendapatkan direktori dokumen aplikasi. Ingat untuk menambah path_provider pada pubspec.yaml anda terlebih dahulu!
dependencies:
flutter:
sdk: flutter
path_provider: ^2.0.11
import 'dart:io';
import 'package:path_provider/path_provider.dart';
void main() async {
// Get the application documents directory
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
print('App Documents Path: $appDocPath');
}Mencipta Rujukan Fail
Setelah anda mempunyai laluan direktori, anda boleh mencipta objek File. Objek ini mewakili fail pada laluan khusus tersebut dalam storan peranti. Ini tidak bermakna fail itu sudah wujud; ia hanya sebuah rujukan.
Anda akan menggabungkan laluan direktori dengan nama fail pilihan anda untuk membina laluan fail penuh.
Membina Laluan Fail
Begini cara anda boleh menggabungkan laluan dokumen aplikasi dengan nama fail untuk mencipta objek File. Kita akan menggunakan nama fail teks ringkas dalam contoh ini.
import 'dart:io';
import 'package:path_provider/path_provider.dart';
void main() async {
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
// Define a filename
String fileName = 'my_data.txt';
// Create a File object
File file = File('$appDocPath/$fileName');
print('File path reference created: ${file.path}');
// At this point, the file might not exist on disk yet.
}Menyimpan Kandungan dalam Fail
Objek File menyediakan kaedah untuk menulis data. Kaedah yang paling biasa ialah writeAsString() untuk teks dan writeAsBytes() untuk data binari. Operasi ini adalah tak segerak, jadi anda perlu menggunakan await.
writeAsString(String contents, {FileMode mode = FileMode.write}): Menulis teks.FileMode.writemenulis ganti kandungan, manakalaFileMode.appendmenambah kandungan pada penghujung.writeAsBytes(List<int> bytes, {FileMode mode = FileMode.write}): Menulis bait mentah.
Menulis Fail Teks Ringkas
Mari tulis kandungan teks ke dalam fail my_data.txt kita. Jika fail itu tidak wujud, writeAsString akan menciptanya. Jika fail itu wujud, kandungannya akan ditulis ganti secara lalai.
import 'dart:io';
import 'package:path_provider/path_provider.dart';
void main() async {
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
String fileName = 'my_data.txt';
File file = File('$appDocPath/$fileName');
String content = 'Hello, CoddyKit learners!\nThis is a test message.';
try {
await file.writeAsString(content);
print('Content written to ${file.path}');
print('File exists: ${await file.exists()}');
} catch (e) {
print('Error writing file: $e');
}
}Membaca Kandungan daripada Fail
Sama seperti anda boleh menulis, anda juga boleh membaca kandungan daripada fail. Kaedah readAsString() sesuai untuk fail teks, manakala readAsBytes() digunakan untuk data binari.
Amalan yang baik ialah memeriksa sama ada fail exists() sebelum cuba membacanya bagi mengelakkan ralat.
Membaca Kandungan Fail
Sekarang, mari baca semula kandungan yang baru kita tulis daripada my_data.txt. Kita akan memeriksa dahulu sama ada fail itu wujud untuk memastikan operasi selamat.
import 'dart:io';
import 'package:path_provider/path_provider.dart';
void main() async {
Directory appDocDir = await getApplicationDocumentsDirectory();
String appDocPath = appDocDir.path;
String fileName = 'my_data.txt';
File file = File('$appDocPath/$fileName');
if (await file.exists()) {
try {
String content = await file.readAsString();
print('Content read from ${file.path}:\n$content');
} catch (e) {
print('Error reading file: $e');
}
} else {
print('File does not exist: ${file.path}');
}
}Mengalih Keluar Fail
Apabila data tidak lagi diperlukan, anda boleh memadam fail daripada storan peranti. Kaedah delete() pada objek File akan mengalih keluarnya. Operasi ini juga tak segerak.
Berhati-hati semasa memadam fail kerana tindakan ini biasanya tidak boleh dibuat asal!
Semak Pemahaman Anda
Manakah antara pernyataan berikut tentang operasi sistem fail Flutter yang BENAR?
Ringkasan Pelajaran
Syabas! Dalam pelajaran ini, anda telah mempelajari cara berinteraksi dengan sistem fail peranti dalam Flutter:
- Menggunakan
path_provideruntuk mencari direktori storan yang sesuai. - Mencipta objek
Fileuntuk merujuk fail tertentu. - Menulis kandungan ke dalam fail menggunakan
writeAsString(). - Membaca kandungan daripada fail menggunakan
readAsString(). - Memahami cara memadam fail dengan
delete().
Operasi sistem fail penting untuk menyimpan data yang besar, berformat tersuai atau sensitif terus pada peranti. Seterusnya, anda boleh meneroka pengendalian data yang lebih lanjutan atau beralih kepada topik Flutter yang lain!
Pelajari Dart dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 22
- Pelajaran
- 88
Soalan Lazim
Adakah pelajaran “Operasi Sistem Fail” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Pembangunan Aplikasi Mudah Alih Flutter, termasuk “Operasi Sistem Fail”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Pembangunan Aplikasi Mudah Alih Flutter merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Operasi Sistem Fail”?
Pelajari cara membaca daripada dan menulis ke sistem fail peranti, sekali gus membolehkan penyimpanan fail yang lebih besar dan format data tersuai. Anda berlatih Pembangunan Aplikasi Mudah Alih Flutter menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pembangunan Aplikasi Mudah Alih Flutter?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pembangunan Aplikasi Mudah Alih Flutter di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Operasi Sistem Fail” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pembangunan Aplikasi Mudah Alih Flutter ini?
Ya. Setiap pelajaran Pembangunan Aplikasi Mudah Alih Flutter menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Shared Preferences untuk Data
- Integrasi Pangkalan Data SQLite
- Operasi Sistem Fail
- Hive dan Storan Setempat NoSQL