文件內容操做NSHandle

  //2對文件內容的操做
    NSHandle
文件內容爲:hello world!
   //NSHandle 文件句柄
   //建立文件句柄
   //以只讀的方式打開指定位置的文件,生成文件句柄
   NSFileHandle *fh=[NSFileHandle fileHandleForReadingAtPath:文件路徑名];
   //讀指定的字節數到NSData
   NSData *data=[fh readDataOfLength:3];
   //轉換成字符串輸出
   NSString *str=[[NSString alloc] initWithData:data encoding:
       NSUTF8StringEncoding];
   NSLog(@"%@",str);//輸出爲:hel
   //繼續讀(接着上次讀取的進度繼續讀)
   data=[fh readDataOfLength:5];
    NSString *str=[[NSString alloc] initWithData:data encoding:
       NSUTF8StringEncoding];
   NSLog(@"%@",str);//輸出爲:lo wo
   //若是文件內容很少能夠用下面的方法直接讀到文件結尾
   data=[fh readDataToEndOfFile];
   
    NSString *str=[[NSString alloc] initWithData:data encoding:
       NSUTF8StringEncoding];
   NSLog(@"%@",str);//若是沒有上面的兩句那麼會直接輸出hello world!
   [str release];
   
   //寫文件,假設文件內容爲0123456789
   
   //以只寫的方式打開文件生成文件句柄
   
   NSFileHandle *fh=[NSFileHandle fileHandleForWritingAtPath:文件路徑名];
   //把字符串hello寫進文件
   [fh writeData:[@"hello" dataUsingEncoding:NSUTF8StringEncoding]];
   //打開文件時裏面的內容變成了hello56789 hello替換掉了01234的內容
   //文件裏的內容並無被清空,這和c語言不同.寫的內容直接覆蓋前面,這和c語言的追加也不同
   
   //能夠用下面的方法將文件內容截斷至0字節
   [fh truncateFileAtOffset:0];
   
   //在寫入就和c語言的寫同樣了
   
   
   
   //追加假設文件內容爲012345
   //將讀寫指針都放到尾端
   [fh seekToEndOfFile];
   [fh writeData:[@"xxxx" dataUsingEncoding:NSUTF8StringEncoding]];
   //文件的內容爲012345
   //xxxx    換行了
相關文章
相關標籤/搜索