2013-10-20 79 views
0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    NSFileManager * fileManager =[[NSFileManager alloc]init]; 
    NSArray *Apath=[fileManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; 
    NSString *FilePath=[[Apath objectAtIndex:0] absoluteString]; 
    NSString *TEST =[FilePath stringByAppendingPathComponent:@"test10.txt"]; 
    BOOL flage =[[NSFileManager defaultManager] fileExistsAtPath:TEST]; 

    if (flage) 
    { 
     NSLog(@"It's exist "); 
    } 
    else 
    { 
     NSLog(@"It is not here yet "); 
     NSData * data =[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:@"www.google.com"]]; 
     [data writeToFile:TEST atomically:YES]; 
    } 
} 

我只是想創建一個文本文件,它總是給我「這是不是在這裏」 任何錯誤的代碼?IOS中的NSFileManager

+0

您是否對數據下載/保存進行了任何調試?你有沒有檢查是否有任何文件被保存? – Wain

+0

請修復您的命名。這可能聽起來很糟糕,但命名非常重要,而變量是lowercaseWithCamelCase。不大寫一次,全部大寫一次,小寫一次。 –

回答

1

您尚未創建文件,只創建了文件路徑:您需要將文件寫入該路徑。

//after these lines ... (I've improved your variable names) 
NSArray *paths=[fileManager URLsForDirectory:NSDocumentDirectory 
            inDomains:NSUserDomainMask]; 
NSString *filePath=[[paths objectAtIndex:0] absoluteString]; 
filePath =[filePath stringByAppendingPathComponent:@"test10.txt"]; 


    //try this 
NSString* fileContent = @"some text to save in a file"; 
BOOL success = [fileContent writeToFile:filePath 
       atomically:YES 
       encoding:NSUTF8StringEncoding 
        error:nil] 

但要小心 - 文件存在測試來與蘋果警告:

注:在嘗試基於文件系統的當前狀態或文件系統上的特定文件的謂詞行爲不推薦。這樣做會造成奇怪的行爲或競賽狀況。嘗試一個操作(例如加載文件或創建目錄),檢查錯誤並妥善處理這些錯誤要比試圖提前弄清操作是否成功要好得多。