ios

2012-02-08 27 views
13

'daki bir metin dosyasını nasıl okuyacağım Çok basit bir kod içeren bir txt dosyası okuyorum. Sorun, Günlük kayıtlarında yalnızca dosyanın yolunu bulmam ama içeriğin boş olmasıdır. Sorunun, parçamı kodlamada yattığını sanıyorum. Metin dosyamın nasıl okunacağı konusunda bir öneri.ios

NSStringEncoding encoding; 
NSString* content; 
NSString* path = [[NSBundle mainBundle] pathForResource:@"colorpalette" ofType:@"txt"]; 
if(path) 
{            
content = [NSString stringWithContentsOfFile:path usedEncoding:&encoding error:NULL]; 
} 
NSLog(@"path is %@",path); 
if (content) 
{ 
    NSLog(@" content of file is %@",content); 
} 
+1

nasıl yöntemiyle sağlanan 'error' okuma konusunda? – cweinberger

+0

NULL olarak iletmek yerine hangi hatanın döndüğünü görmek için hata parametresini kullanmayı deneyebilirsiniz. –

+0

Joachim Isaksson Hatayı alıyorum "İşlem tamamlanamadı. – Shubham

cevap

15

Burada kodlama parametresi doğru şekilde ayarlanmamış.

bu

NSString* content = [NSString stringWithContentsOfFile:path 
               encoding:NSUTF8StringEncoding 
               error:NULL]; 
NSLog(@"%@",path); 
+1

Bu bir seçenek (kodlamayı biliyorsanız, tartışmasız daha iyi), ancak stringWithContentsOfFile: usedEncoding: error: _is_ bilmiyorsanız, mükemmel bir geçerli aşırı yük kodlama –

+0

ben hata anladım .. Genellikle metin dosyası kaydetme sırasında ben Batı (Mac OS Roman) kodlama metin seçildi.it utf-8 olmalıdır. şimdi kod mükemmel çalışıyor .. :) – Shubham

+0

"NSLog (@"% @ ", içerik); "ve yol değil –

1

Ben kodlama işlevi "stringWithContentsOfFile" geçiyoruz alamadım deneyin. "NSUTF8StringEncoding" iletmeyi deneyin. Bu işe yaramazsa, bir NSError örneği oluşturun ve işlevi referans alarak iletin.

6

Demet gelen bir metin dosyası okumak için şu kodu kullanın:

NSError *error; 
NSString *strFileContent = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] 
    pathForResource: @"FileName" ofType: @"txt"] encoding:NSUTF8StringEncoding error:&error]; 

if(error) { //Handle error 

} 

NSLog(@"File content : %@ ", strFileContent);