Objective-C’de dosyalarla işlem yapabilmek için önce NSFileManager sınıfının bir örneğini (intance) oluşturmak gerekir; bu da defaultManager metodu sayesinde gerçekleştirilebilir:
NSFileManager *dosya;
dosya=[NSFileManager defaultManager];
Bir Dosyanın Sistemde Mevcut Olup Olmadığının Kontrolü
NSFileManager sınıfına ait fileExistsAtParh metodu, belirli bir dosyanın (file) sistemde olup olmadığını kontrol eder. Metot, dosyanın yolunu (path) tanımlayan NSString türünde bir argüman alır. Gönderdiği değer ise mantıksal tipte (boolean) bir sonuçtur ya YES (dosya var) ya da NO’dur (dosya yok).
NSFileManager *dosya;
dosya=[NSFileManager defaultManager];
if ([dosya fileExistsAtPath: @"/xx/dosya1.txt"] == YES)
NSLog(@"DOSYA MEVCUTTUR");
else
NSLog(@"DOSYA MEVCUT DEĞİLDİR");
Aktif dizinde (folder, directory) /xx/dosya1.txt yolu ile erişilen dosya1.txtt adlı dosya sistemde mevcutsa “DOSYA MEVCUTTUR” değilse “DOSYA MEVCUT DEĞİLDİR” mesajı alınacaktır.
İki Dosyanın İçeriğinin Karşılaştırılması
contentsEqualAtPath metodu sayesinde iki dosyanın içeriklerinin tamamen aynı olup olmadığı karşılaştırılabilir.
Metot argüman olarak her iki dosyanın bulunduğu yerleri veren yolları (path) alır ve sonuçta iki dosya arasında eşitlik varsa YES yoksa NO değerini gönderir:
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya contentsEqualAtPath: @"/xx/dosya1.txt" andPath: @"/xx/notlar.txt"] == YES)
NSLog (@"DOSYA İÇERİKLERİ AYNIDIR");
else
NSLog (@"DOSYA İÇERİKLERİ AYNI DEĞİLDİR");
Bir Dosyanın Okunabilir Olmasının Kontrolü
isReadableFileAtPath metodu ile bir dosyanın okunabilir olup olmadığını kontrol edebilirsiniz. Metodun tek argümanı ilgili dosyanın yol bilgisidir:
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya isReadableFileAtPath: @"/xx/dosya1.txt" andPath: @"/xx/notlar.txt"] == YES)
NSLog (@"DOSYA OKUNABİLİR");
else
NSLog (@"DOSYA OKUNAMAZ NİTELİKTEDİR");
Dosyanın Yazılabilir Olmasının Kontrolü
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya isWritableFileAtPath: @"/xx/dosya1.txt"] == YES)
NSLog (@"DOSYA YAZILABİLİR NİTELİKTEDİR");
else
NSLog (@"DOSYA SADECE OKUNABİLİR NİTELİKTEDİR");
Dosyanın Çalıştırılabilir Olmasının Kontrolü
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya isExecutableFileAtPath: @"/xx/dosya1.txt"] == YES)
NSLog (@"DOSYA İCRA EDİLEBİLİR NİTELİKTEDİR");
else
NSLog (@"DOSYA İCRA EDİLEBİLİR NİTELİKTE DEĞİLDİR");
Dosyanın Silinebilir Olmasının Kontrolü
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya isDeletableFileAtPath: @"/xx/dosya1.txt"] == YES)
NSLog (@"DOSYA SİLİNEBİLİR NİTELİKTEDİR");
else
NSLog (@"DOSYA SİLİNEBİLİR NİTELİKTE DEĞİLDİR");
Bir Dosyanın Başka Bir Dizine Aktarılması
moveItemAtPath metodu ile bir dosya başka bir dizine aktarılabilir:
NSFileManager *dosya;
dosya= [NSFileManager defaultManager];
if ([dosya moveItemAtPath: @"/xx/dosya1.txt" toPath: @"/xx/dosya2.txt" error: NULL] == YES)
NSLog (@"DOSYA AKTARMA BAŞARILI");
else
NSLog (@"DOSYA AKTARMA BAŞARISIZ");
Bir Dosyayı Kopyalama
copyItemAtPath metodu yardımı ile bir dosyayı bir adresten diğerine kopyalamak mümkündür. Bu metot argüman olarak kaynak dosya ve hedef dosyanın yollarını alır:
NSFileManager *dosya;
dosya= [NSFileManager defaultManager];
if ([dosya copyItemAtPath: @"/xx/dosya1.txt" toPath: @"/aa/bb/dosya2.txt" error: NULL] == YES)
NSLog (@"KOPYALAMA BAŞARILI");
else
NSLog (@"KOPYALAMA BAŞARILI DEĞİL");
Bir Dosyayı Silme
removeItemAtPath metodu ile yolu belirtilen bir dosya sistemden silinebilir:
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya removeItemAtPath: @"/xx/dosya1.txt" error: NULL] == YES)
NSLog (@"SİLME BAŞARILI");
else
NSLog (@"SİLME BAŞARILI DEĞİL");
Dosya İçin Sembolik Link Oluşturma
createSymbolicLinkAtPath metodu ile belirli bir dosya için sembolik link oluşturulabilir:
NSFileManager *dosya;
dosya = [NSFileManager defaultManager];
if ([dosya createSymbolicLinkAtPath: @"/aa/bb/dosya2.txt"
withDestinationPath: @"/xx/dosya1.txt" error: NULL] == YES)
NSLog(@"İŞLEM BAŞARILI");
else
NSLog(@"İŞLEM BAŞARISIZ");
Bu örnekte /aa/bb/dosya2.txt" dosyasından /xx/dosya1.txt dosyası üzerine bir sembolik link oluşturulmaktadır.