2013-10-20 1 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]; 
    } 
} 

난 그냥 텍스트 파일을 만들려고 해요, 그것은 항상 날 코드 문제 뭐든지 "그것은 아직 여기 아니다"줄 ??NSFileManager를 IOS

+0

데이터 다운로드/저장에 대한 디버깅을 수행 했습니까? 파일이 저장되었는지 확인 했습니까? – Wain

+0

이름을 수정하십시오. 그것은 진절머리 나게 들릴지도 모르지만, 명명은 중요하고 vars는 소문자입니다 .CamelCase. 대문자가 아니고 모든 대문자는 한 번 소문자입니다. –

답변

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] 

하지만 조심 - 파일의 존재 테스트는 애플의 경고와 함께 :

참고 : 파일 시스템의 현재 상태 또는 파일 시스템에서 특정 파일을 기반으로 동작을 술어 시도 권장하지 않습니다. 그렇게하면 이상한 행동이나 경쟁 조건이 발생할 수 있습니다. 파일을로드하거나 디렉토리를 만드는 등의 작업을 시도하고 오류를 확인한 다음 작업이 성공할지 미리 판단하는 것보다 오류를 정상적으로 처리하는 것이 훨씬 낫습니다.

관련 문제