2013-04-21 82 views
1

我試圖讀取一個CSV文件。我已經將該文件導入到我的應用程序中,因此該文件位於本地。當我執行下面這部分代碼:stringWithContentsOfFile期間出現日誌錯誤消息

@autoreleasepool { 
    NSError *error; 
    NSString *alldata = [NSString stringWithContentsOfFile:@"config_menu_position.csv" 
                encoding:NSUTF16StringEncoding error:&error]; 
    NSLog(@"alldata: %@", alldata); 
    NSLog(@"error: %@", error); 
} 

我有這個日誌錯誤消息,我的變量始終是NUL:

2013-04-21 17:05:37.571 PageViewController[1578:c07] alldata :(null) 
    2013-04-21 17:05:38.242 PageViewController[1578:c07] error: Error Domain=NSCocoaErrorDomain 
Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0x7ebf100 
{NSFilePath=config_menu_position.csv, NSUnderlyingError=0x7ebf060 "The operation couldn’t be 
completed. No such file or directory"} 

什麼想法?

回答

2

你缺少完整的文件路徑,試試這個:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"config_menu_position" ofType:@"csv"]; 
NSString *alldata = [NSString stringWithContentsOfFile:filePath 
               encoding:NSUTF16StringEncoding 
               error:&error]; 
+1

太棒了!我改變了「NSUTF16StringEncoding」的「NSUTF8StringEncoding」,因爲我有中文字符:)。謝謝! – 2013-04-21 15:25:28

1

嘗試pathForResource:ofTypeNSBundle,例如。

[[NSBundle mainBundle] pathForResource:@"config_menu_position" ofType:@"csv"] 

然後用你的一個NSString初始化thepath返回。