Skip to content

Cocoa Programlama: Dosya işlemleri

11 Haziran 2013 | Apple, Programlama | Yorum Yok

Geçenlerde farkettim Downloads klasörüm bildiğin çöplük olmuş. Tüm inenler oraya indiği için bir süre sonra tüm dosyalar birbirine girmiş. Bende bir uygulama yazıp orada bulundan dosyaları uzantılarına göre oluşturduğumuz klasörlere atsın dedim.

Uygulamayı geliştirdim. Gayet temiz ve düzenli oldu.(Simdi demo versiyonunu hazirliyorum. Hazir olunca burada yayinlayacagim) O uygulamadan akılda kalan kodlari sizinle paylaşmak istedim. Çünkü Bu konu hakkında Türkçe kaynak neredeyse HİÇ YOK. İlk olayım dedim

Bir klasordeki dosyalari bulmak:


// tabiki NSFileManager kullanacagiz
NSFileManager * fileMan = [[NSFileManager alloc] init];
// NSHomeDirectory()= /Users/denizyildirim yolunu buluyor. Yani kullanicinin "Home" dizini
NSString *searchFolder=NSHomeDirectory();
// Downloads klasorunun dizinini tam olarak ekliyoruz.
searchFolder=[searchFolder stringByAppendingString:@"/Downloads"];
// Klasordeki tum dosyalarin adlarini arraye aktariyoruz
NSArray * files = [fileMan contentsOfDirectoryAtPath:searchFolder error:nil];
// Eger dosya varsa, yani klasor bos degilse
if (files){
// Donguye baslatiyoruz
for(int index=0;index<files.count;index++) {
// arraydaki dosya adini aliyoruz
NSString * file = [files objectAtIndex:index];
// dosyalar sirayla yazdiriyoruz...
NSLog(@"Dosya: %@",files);
}
}

ondan sonra dosyaların uzantılarına göre seçmek için;


// Buradaki file üst kodda oluşturduğumuz file..
if( [[file pathExtension] compare: @".pdf"] == NSOrderedSame ){
// Dosya Uzantisi PDF olanlar
}

Şimdide gelen dosya klasör mü değil mi. Onun kontrolünü yapalım.


BOOL klasormu;
// SearchFolder en baştaki kodda oluşturduğumuz değişken
if([[NSFileManager defaultManager] fileExistsAtPath:searchFolder isDirectory:&klasormu] && ! klasormu){
Burası klasörse yapılacaklar
}

ve dosyayi bir yerden baska bir yere tasimak icinde;


NSString * burdan=@"/Users/denizyildirim/Downloads/xx.pdf";
NSString * buraya@"/Users/denizyildirim/Downloads/Documents/xx.pdf";
NSFileManager *filemgr = [NSFileManager defaultManager];
// bu kod üsttekilerden bağımsız çalışır
if ([filemgr moveItemAtPath:burdan toPath:buraya error:nil]){
NSLog(@"Dosya %@ tasindi.",buraya);
}else{
NSLog(@"Dosya Tasinamadi");
}

Bu Ürünü Paylaş ahanda single sayfasi

  • Delicious
  • Digg
  • Newsvine
  • RSS
  • StumbleUpon
  • Technorati
  • Twitter

Benzer Yazılar

Yorumlar

Bu yazıda henüz yorum yok.

Yeni Yorum Yaz


8 − beş =