NSFileHandle 파일 작업 의 정리 및 정리

5738 단어 ios
주소http://blog.csdn.net/swingpyzf/article/details/16325923
Objective - C 는 NSFileHandle 클래스 를 사용 하여 파일 을 기본 동작 으로 하고 IOS 파일 을 조작 합 니 다.
NSFileHandle 클래스 의 방법 은 파일 에 대해 기본 적 인 읽 기와 쓰기, 오프셋 동작 을 할 수 있 습 니 다.NSFileHandle 기본 단계: 1. 파일 을 열 고 NSFileHandle 대상 을 가 져 옵 니 다.2. NSFileHandle 을 여 는 파일 대상 줄 I / O 동작 3. 파일 대상 닫 기
NSFileHandle    :

+(NSFileHandle*)fileHandleForReadingAtPath:path           

+(NSFileHandle*)fileHandleForWritingAtPath:path           

+(NSFileHandle*)fileHandleForUpdatingAtPath:path           

-(NSData*)availableData               
-(NSData*)readDataToEndOfFile               (  UINT_MAX  ) 
-(NSData*)readDataOfLength:(NSUInteger)bytes               
-(void)writeData:data  data     
-(unsigned long long)offsetInFile         
-(void)seekToFileOffset:offset       
-(unsigned long long)seekToEndOfFile              
-(void)truncateFileAtOffset:offset          offset   
-(void)closeFile      

  fileHandleForWritingAtPath fileHandleForUpdatingAtPath              ,    nil,                        。


  readDataToEndOfFile          UNIT_MAX     ,      
<limits.h> 。


 UNIX                    ,        

1. 인 스 턴 스 프로그램 은 프로그램 을 통 해 파일 에 대해 기본 적 인 작업 을 합 니 다.
#import <Foundation/Foundation.h> 


int main(int argc, const charchar * argv[])  
{  


    @autoreleasepool {  
        NSFileHandle *inFile,*outFile;  
        NSData *buffer;  
        NSString *fileContent = @"       ,       ,       ,       ,       ";  
        NSFileManager *fm = [NSFileManager defaultManager];  

        //       
        [fm createFileAtPath:@"testFile.txt" contents:[fileContent dataUsingEncoding:NSUTF8StringEncoding] attributes:nil];  
        //            
        [fm createFileAtPath:@"outFile.txt" contents:nil attributes:nil];  

        //     
        inFile = [NSFileHandle fileHandleForReadingAtPath:@"testFile.txt"];  
        //     
        outFile = [NSFileHandle fileHandleForWritingAtPath:@"outFile.txt"];  

        if(inFile!=nil){  
            //       
            buffer = [inFile readDataToEndOfFile];  

            //         0,          
            [outFile truncateFileAtOffset:0];  

            //          outFile.txt  
            [outFile writeData:buffer];  

            //     
            [outFile closeFile];  

            //  outFile   
            NSLog(@"%@",[NSString stringWithContentsOfFile:@"outFile.txt" encoding:NSUTF8StringEncoding error:NULL]);  


            //               
            [fm createFileAtPath:@"outFile2.txt" contents:nil attributes:nil];  

            //         
            outFile = [NSFileHandle fileHandleForWritingAtPath:@"outFile2.txt"];  

            //        10   ,                 
            for (int i = 0; i<10; i++) {  
                //             
                [outFile seekToEndOfFile];  
                //     
                [outFile writeData:buffer];  
            }  

            //     
            NSLog(@"outFile2:%@",[NSString stringWithContentsOfFile:@"outFile2.txt" encoding:NSUTF8StringEncoding error:NULL]);  

            //     
            [outFile closeFile];  
            [inFile closeFile];  


        }  


    }  
    return 0;  
}  

좋은 웹페이지 즐겨찾기