OC中NSData數據,將對象邊爲字節碼
//
// main.m
// IOS150619_ObjectiveC_NSData
//
// Created by qianfeng on 15/6/19.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *string = @"I love China";
//把字符串對象轉換成NSData對象
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%@",data);
//把data對象中的數據寫到指定文件中,文件不存在可以創建目的文件,但是目錄不存在,則寫失敗
//- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;
BOOL ret = [data writeToFile:@"/Users/qianfeng/Desktop/test/dic3/Hello.txt" atomically:YES];//原子性,即在寫過程中不被打斷,要麼全部寫完,要麼就不寫
NSLog(@"ret = %d",ret);
//把文件內容讀成二進制對象
NSData *data1 = [NSData dataWithContentsOfFile:@"/Users/qianfeng/Desktop/test/dic3/Hello.txt"];
//將NSData對象轉換成字符串對象
NSString *string1 = [[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];
NSLog(@"string1 = %@",string1);
}
return 0;
}
NSFileHandle文件句柄:
// main.m
// IOS150619_ObjectiveC_文件操作
//
// Created by qianfeng on 15/6/19.
// Copyright (c) 2015年 Peng Junlong. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//句柄類似與二級指針,僅僅是類似
//文件句柄
//以只讀的方式創建文件句柄,打開文件
//+ (instancetype)fileHandleForReadingAtPath:(NSString *)path;
//NSFileHandle *fh = [NSFileHandle fileHandleForReadingAtPath:@""];
//以只寫的方式創建文件句柄,打開文件
//+ (instancetype)fileHandleForWritingAtPath:(NSString *)path;
//NSFileHandle *fh1 = [NSFileHandle fileHandleForWritingAtPath:@""];
//以可讀可寫的方式創建文件句柄
//+ (instancetype)fileHandleForUpdatingAtPath:(NSString *)path;
NSFileHandle *fh2 = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/qianfeng/Desktop/test/4.txt"];
//把文件指針移動到文件末尾,從文件指針的位置開始寫
[fh2 seekToEndOfFile];
//寫文件
NSData *data1 = [@"中國雄起" dataUsingEncoding:NSUTF8StringEncoding];
NSData *data2 = [@"上海牛" dataUsingEncoding:NSUTF8StringEncoding];
[fh2 writeData:data1];
[fh2 writeData:data2];
//把文件的內容同步到磁盤中
[fh2 synchronizeFile];
[fh2 closeFile];//文件句柄消失的時候,對應的文件應該關閉
//讀取文件內容到末尾
NSFileHandle *fh3 = [NSFileHandle fileHandleForUpdatingAtPath:@"/Users/qianfeng/Desktop/test/4.txt"];
NSData *data3 = [fh3 readDataToEndOfFile];
NSString *string = [[NSString alloc] initWithData:data3 encoding:NSUTF8StringEncoding];
NSLog(@"string = %@",string);
//讀取文件指定長度大小
//在OC中一個漢字佔3個字節,如果把漢字拆了就無法轉換成字符串對象
//移動文件指針到指定位置
//- (void)seekToFileOffset:(unsigned long long)offset;
[fh3 seekToFileOffset:6];
NSData *data4 = [fh3 readDataOfLength:9];
NSLog(@"data4 = %@",[[NSString alloc] initWithData:data4 encoding:NSUTF8StringEncoding]);
//截斷文件爲指定大小字節內容
//- (void)truncateFileAtOffset:(unsigned long long)offset;
[fh3 truncateFileAtOffset:30];
}
return 0;
}