ETİKETLER

ios

İÇERİK TÜRLERİ

Dosya İçeriğinin Silinmesi

 

truncateFileAtOffset metodu ile açılan bir dosyanın o andaki offset pozisyonundan başlayarak sonuna kadar olan kısmını silebilirsiniz. Offset 0 alınırsa doyanın tüm içeriği silinir:

 

NSFileHandle *dosya;
dosya = [NSFileHandle fileHandleForUpdatingAtPath: @"/xx/dosya1.txt"];
if (dosya == nil)
    NSLog(@"DOSYA AÇILAMIYOR");
[dosya truncateFileAtOffset: 0];
[dosya closeFile];

 

 

Dosyaya Veri Yazma

 

writeData metodu, NSData nesnesi içindeki veriyi, offsetin bulunduğu konumdan başlayarak dosya içine yazar. Bu durumda offset’i izleyen bytelar üzerindeki eski veri silinir.

Şimdi /xx/ dizini içine dosya1.txt adlı bir dosya oluşturduğunuzu ve içeriğinin de aşağıdaki şekilde olduğunu var sayalım:

Kanlıca sevdalara yol alır gecelerde

 

Dosyadan Veri Okuma

 

readDataOfLength metodu ile açılmış bir dosyanın aktif pozisyonundan itibaren veriler okunabilir. Bu metot, o andaki offset konumundan başlayarak belirtilen sayıdaki byte’ı dosyadan okur:

 

NSData *veri;
dosya= [NSFileHandle fileHandleForReadingAtPath: @"/xx/dosya1.txt"];

if (dosya == nil)
    NSLog(@"DOSYA AÇILAMIYOR");
[dosya seekToFileOffset: 50];
veri = [dosya readDataOfLength: 15];
[dosya closeFile]

 

 

NSFileHandle Sınıfını Kullanarak Dosyalarla İşlemler

 

NSFileHandle sınıfını kullanarak dosyalar üzerinde çok daha karmaşık işlemleri gerçekleştirmek mümkündür. Bu sınıf içinde ayrıca cihazlar ve ağ soketleri ile işlemler yapma olanağı veren metotlar da bulunmaktadır.

NSFileHandle Nesnesi Oluşturmak

NSFileManager ile Dosyaları Okuma ve Dosyalara Bilgi Kaydetme

 

NSFileManager  sınıfının contentsAtPath metodu sayesinde bir dosyanın içeriği okunarak NSData nesnesinde saklanabilir:

 

NSFileManager *dosya;
NSData *veri;

dosya = [NSFileManager defaultManager];
veri = [dosya contentsAtPath: @"/xx/dosya1.txt"];
/*Okunan dosyanın içeriği, NSData nesnesinde saklandıktan sonra başka bir dosya üzerine createFileAtPath metodu ile yazdırılabilir:*/
[dosya createFileAtPath: @"/xx/dosya2.txt" contents: veri attributes: nil];

 

Dosya İşlemleri

 

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];

 

register Bellek Sınıfı

 

register tipi değişkenler özellikleri itibarı ile diğer sınıflardan ayrılırlar; çünkü, register tipi değişkenlere bellekte (memory, RAM) değil, CPU yazmaçları (registers) içinde yer ayrılır. Programcı, register tipi bir değişken için bildirimde bulunduğu zaman, gerçekte C derleyicisine, CPU'yu bir bellek hücresi gibi kullanmasını önermektedir.

static Bellek Sınıfı

static bellek sınıfından bir değişken, bir fonksiyonun içinde ya da dışında tanımlanabilir. Static bellek sınıfındaki değişkenler ancak static sözcüğü ile ayırt edilebilirler o nedenle bildirimde bu sözcüğün kullanılması zorunludur. Static sınıfındaki bir değişken programın tüm icrası süresince geçerliliğini korur. O nedenle bir fonksiyon içinde tanımlanmış olsa bile fonksiyon terkedilince değerini kaybetmez.

extern Bellek Sınıfı

C dilinde, bir fonksiyon gövdesinin dışında tanımlanan bir değişken için öntanımlı bellek sınıfı extern sınıfıdır. Ayrıca extern sınıfına ait olmasını istediğiniz bir değişkeni de mutlaka tüm fonksiyon gövdelerinin dışında tanımlamalısınız.

Abone ol ios