path_provider
Flutter’da uygulamaların dosya sistemi üzerinde dosya oluşturması, okuması ve yazması için kullanılan bir pakettir. Bu paket sayesinde uygulama verilerini kalıcı olarak saklayabilir, kullanıcıya özel verileri güvenli bir şekilde yönetebilirsiniz. path_provider
paketi, uygulamanın belge ve geçici dosyaları için uygun dizinleri bulmanıza yardımcı olur. iOS ve Android platformlarında farklılık gösteren dosya sistemi yollarını yönetmek için idealdir.
path_provider
ile dosya yollarını bulmak için, genellikle iki temel fonksiyon kullanılır: getApplicationDocumentsDirectory()
ve getTemporaryDirectory()
.
getApplicationDocumentsDirectory()
: Uygulamanın belge dizinini döndürür. Bu dizin, kullanıcı tarafından oluşturulan verilerin veya uygulamanın indirdiği verilerin saklanması için kullanılabilir. iOS’taNSDocumentDirectory
‘ye, Android’deAppData
dizinine karşılık gelir.getTemporaryDirectory()
: Geçici dosyaların saklanması için bir dizin döndürür. Bu dizin, uygulama tarafından ihtiyaç duyulmayan veya geçici olarak saklanması gereken dosyalar için kullanılmalıdır. iOS’taNSTemporaryDirectory()
‘e, Android’degetCacheDir()
‘e karşılık gelir.
writeAsString
metodu, Dart’ın dart:io
kütüphanesindeki File
sınıfının bir metodudur. Bu metod, belirtilen bir dosyaya string (metin) formatında veri yazmak için kullanılır. Yazma işlemi, dosyaya senkron veya asenkron olarak gerçekleştirilebilir, bu da metodun nasıl çağrıldığına bağlıdır.
Future<File> writeAsString(
String contents, {
FileMode mode = FileMode.write,
Encoding encoding = utf8,
bool flush = false,
})
metodu, Dart’ın
writeAsStringdart:io
kütüphanesindeki File
sınıfının bir metodudur. Bu metod, belirtilen bir dosyaya string (metin) formatında veri yazmak için kullanılır. Yazma işlemi, dosyaya senkron veya asenkron olarak gerçekleştirilebilir, bu da metodun nasıl çağrıldığına bağlıdır.
writeAsString
Metodunun Kullanımı
writeAsString
metodu, bir dosyaya metin yazmak için kullanılır. Metodu kullanırken, yazılacak metni argüman olarak sağlarsınız. Ayrıca, dosyanın nasıl yazılacağını kontrol etmek için çeşitli parametreler ve seçenekler de sağlayabilirsiniz, örneğin yazmanın dosyanın mevcut içeriğini mi yoksa üzerine mi yazacağını belirlemek.
writeAsStrin
g
Future<File> writeAsString( String contents, { FileMode mode = FileMode.write, Encoding encoding = utf8, bool flush = false, })
contents
: Dosyaya yazılacak metin.mode
: Dosyanın nasıl açılacağını belirler. Varsayılan değeriFileMode.write
‘dır, bu da mevcut dosyanın üzerine yazılacağını belirtir. Eğer dosyaya eklemek isterseniz,FileMode.append
kullanabilirsiniz.encoding
: Metnin hangi karakter kodlamasıyla yazılacağını belirler. Varsayılan değer UTF-8’dir.flush
: Yazma işlemi tamamlandıktan sonra dosyanın hemen diske yazılıp yazılmayacağını belirler.
import 'dart:io';
Future<void> main() async {
final file = File('dosya_yolu/dosya_adi.txt');
// Dosyaya metin yaz
await file.writeAsString('Merhaba, Flutter!', mode: FileMode.append).then((File file) {
// Yazma işlemi başarılı
print('Dosya başarıyla yazıldı.');
}).catchError((e) {
// Yazma işleminde hata
print('Dosya yazılırken bir hata oluştu: $e');
});
}
writeAsString
metodu FileMode.append
moduyla kullanılarak, var olan bir dosyaya metin eklenmektedir. Eğer dosya yoksa, oluşturulur ve metin dosyaya yazılır. Eğer dosya zaten varsa, metin dosyanın sonuna eklenir.
readAsString
metodu, Dart’ın dart:io
kütüphanesinde bulunan File
sınıfının bir metodudur. Bu metod, bir dosyanın içeriğini metin (string) olarak okumak ve döndürmek için kullanılır. readAsString
metodu asenkron bir işlem gerçekleştirir, yani dosyanın okunması bitene kadar bekler ve sonucu bir Future<String>
olarak döndürür. Bu metod, dosya içeriğini okurken kullanılacak karakter kodlamasını (encoding) belirlemek için bir parametre alabilir; eğer bu parametre belirtilmezse varsayılan olarak UTF-8 kodlaması kullanılır.
import 'dart:io';
Future<void> main() async {
var dosyaYolu = 'dosyanızın_yolu.txt';
var dosya = File(dosyaYolu);
try {
String icerik = await dosya.readAsString();
print('Dosya içeriği: $icerik');
} catch (e) {
print('Dosya okunurken bir hata oluştu: $e');
}
}
Bu Yazıya Tepkin Ne Oldu ?
YORUMLAR