您的「資源文件夾」實際上是您的主包的內容,也稱爲應用程序包。您使用pathForResource:ofType:
或pathForResource:ofType:inDirectory:
來獲取資源的完整路徑。
如果您想保留一個字符串,則以stringWithContentsOfFile:encoding:error:
方法將一個文件的內容作爲字符串加載,該方法對於自動釋放的字符串爲initWithContentsOfFile:encoding:error:
。
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data"
ofType:@"txt"
inDirectory:@"Folder1"];
if (filePath != nil) {
theContents = [NSString stringWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:NULL];
// Do stuff to theContents
}
這與Shirkrin之前給出的答案几乎相同,但是它與目標方法略有不同。這是因爲initWithContentsOfFile:
在Mac OS X上已棄用,並且在所有iPhone OS上都不可用。
但在不同的文件夾中有多個具有相同名稱的文件夾。所以在這種情況下,如何實現路徑 – Rupesh 2009-09-30 08:32:06
@Rupesh:對於您需要使用的第二個文件夾:'[thisBundle pathForResource:@「Data」ofType:@「txt」inDirectory:@「Folder3/Folder1」]'。注意'inDirectory:'參數是相對於捆綁根目錄的。 – PeyloW 2009-09-30 08:53:12
你應該真的使用'[NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:NULL]',這樣內存就是_「managed」_,更重要的是''initWithContentsOfFile:'從Mac OS X 10.4開始已經被棄用了,**可在iPhone OS **上使用。所以代碼只能在模擬器中工作。 – PeyloW 2009-09-30 08:58:16