SORU
25 HAZİRAN 2009, PERŞEMBE


Objective-C: satırı ile dosya satır Okumak

Objective-C büyük metin dosyaları ile ilgili uygun yol nedir? Hadi her satırı ayrı ayrı okumak lazım diyorum ve bir NSString olarak her satırı tedavi etmek istiyor. Bunu yapmanın en etkili yolu nedir?

Bir çözüm NSString yöntemi kullanıyor:

  (id)stringWithContentsOfFile:(NSString *)path 
      encoding:(NSStringEncoding)enc 
      error:(NSError **)error

ve sonra yeni satır ayırıcı çizgiler bölünmüş, ve dizinin elemanları üzerinde yineleme. Ancak, bu oldukça yetersiz görünüyor. Kolay yolu sadece bir kez okumak yerine bir akışı olarak dosya, her satır numaralandırma üzerinde tedavi etmek için yok mu? Java gibi java.ıo.BufferedReader.

CEVAP
17 Aralık 2010, Cuma


Bu TextString genel bir okuma için çalışacak. Daha uzun metin okumak isterseniz(metin boyutu büyük)o kişi burada tamponlu gibi bahsedilen yöntemi kullanın(bellek alanında metin boyutunu rezerv).

Metin Dosyası okumak demek.

NSString* filePath = @""//file path...
NSString* fileRoot = [[NSBundle mainBundle] 
               pathForResource:filePath ofType:@"txt"];

Yeni hattından kurtulmak istiyorsun.

// read everything from text
NSString* fileContents = 
      [NSString stringWithContentsOfFile:fileRoot 
       encoding:NSUTF8StringEncoding error:nil];

// first, separate by new line
NSArray* allLinedStrings = 
      [fileContents componentsSeparatedByCharactersInSet:
      [NSCharacterSet newlineCharacterSet]];

// then break down even further 
NSString* strsInOneLine = 
      [allLinedStrings objectAtIndex:0];

// choose whatever input identity you have decided. in this case ;
NSArray* singleStrs = 
      [currentPointString componentsSeparatedByCharactersInSet:
      [NSCharacterSet characterSetWithCharactersInString:@";"]];

İşte gördünüz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Megan Parken

    Megan Parken

    19 Temmuz 2009
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009
  • Shantanu Sood

    Shantanu Soo

    3 Kasım 2008