2010-07-21 12 views
6

मेरी कोड के साथ गलत क्या है .. मैं इसेकोको टच - एक सरणी

की तरह एक पाठ फ़ाइल आइटम 1

ITEM2

ITEM3

Item4 पढ़ना चाहते हैं में एक पाठ फ़ाइल लोड हो रहा है

Item5

और एक सरणी में उसे पार्स तो प्रत्येक पंक्ति एक से है इस प्रकार सरणी में पैराेट ऑब्जेक्ट।

जब आप कंसोल जाँच यह (null)

-(void)parseIntoArray{ //parse the files into seprate arrays. 
    allPools = [[NSMutableArray alloc] initWithContentsOfFile:@"ALL_POOLS_NAMES"]; 
    NSLog(@"%@",allPools); 
} 

मैं अपने प्रोजेक्ट में txt फ़ाइल डाल दिया और गंतव्य के लिए कॉपी प्रिंट करता है।

उत्तर

13

सबसे पहले, क्या आप सत्यापित कर सकते हैं कि फ़ाइल मौजूद है जहां आप देख रहे हैं और पठनीय है? उपयोग

[[NSFileManager defaultManager] isReadableFileAtPath:aPath]; 

दूसरे, आपकी फ़ाइल में क्या है। initWithContentsOfFile के व्यवहार:

केवल संपत्ति सूची में शामिल होना चाहिए aPath से पहचान फ़ाइल में सरणी प्रतिनिधित्व वस्तुओं (NSString, NSData, NSArray, या NSDictionary वस्तुओं)।

क्या आपकी फ़ाइल एक वैध प्लेलिस्ट xml फ़ाइल है?

InResponse

आप NSArray निर्माता initWithContentsOfFile का उपयोग नहीं कर सकते हैं: एक नियमित पाठ फ़ाइल को पार्स करने

इसके बजाय आप फ़ाइल सामग्री को स्मृति में पढ़ सकते हैं और इसे स्वयं को सरणी में पार्स कर सकते हैं। आपके उदाहरण के लिए आप

//pull the content from the file into memory 
NSData* data = [NSData dataWithContentsOfFile:aPath]; 
//convert the bytes from the file into a string 
NSString* string = [[[NSString alloc] initWithBytes:[data bytes] 
              length:[data length] 
              encoding:NSUTF8StringEncoding] autorelease]; 

//split the string around newline characters to create an array 
NSString* delimiter = @"\n"; 
NSArray* items = [string componentsSeparatedByString:delimiter]; 
+0

संपादित ओपी का उपयोग कर सकते हैं ताकि यह स्पष्ट हो। – user377419

+0

हम्म मुझे एक त्रुटि मिली .. 'एन्कोडिंग: NSUTF8StringEncoding]];' यह कहता है कि '' ' से पहले यह एक ''' गायब है, क्या आप एक तर्क खो रहे हैं? – user377419

+1

@ शॉर्ट 876: नहीं, उसके पास एक बहुत अधिक [शुरुआत में पात्र हैं। – JeremyP

संबंधित मुद्दे