oc文件基本读写及操作

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

代码:

#import<Foundation/Foundation.h>//NSString 写文件voidstringWriteToFile(){

NSString*path = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/test.txt"];

NSString*s =@"test";

[s writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

NSString*str =[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

NSLog(@"\nstring = %@",str);

NSString*testtxt =[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

NSLog(@"\ntest.text = %@",testtxt);

}//NSArray 写文件voidarrayWriteToFile(){

NSArray*arr = @[@"a",@"b",@"b",@"c"];

NSString*path = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/test2.txt"];

[arr writeToFile:path atomically:YES];

NSArray*a =[[NSArray alloc] initWithContentsOfFile:path];

NSLog(@"array = \n%@",a);

NSString*s =[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

NSLog(@"\ntest2.txt = \n%@",s);

}//NSDictionary 写文件voiddictionaryWriteToFile(){

NSDictionary*dic = @{@"a":@"1",@"b":@"2",@"c":@"3",@"d":@"4"};

NSString*path = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/test3.txt"];

[dic writeToFile:path atomically:YES];

NSDictionary*d =[[NSDictionary alloc] initWithContentsOfFile:path];

NSLog(@"\ndictionary = \n%@",d);

NSString*s =[[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

NSLog(@"\ntest3.txt = \n%@",s);

}//atomically 是否原子级 即事务性写入//NSNumber、NSDate、NSData都可以通过writeToFile写入文件,该文件为纯文本类型,如果将后缀名改为plist即为xcode属性列表文件intmain(intargc,constchar*argv[]) {//该方法是创建一个实例,但是使的NSFileManager的单例模式将失去效果NSFileManager *fm0 =[[NSFileManager alloc] init];//defaultManager使用单例模式创建NSFileManager对象NSFileManager *fm1 =[NSFileManager defaultManager];

NSFileManager*fm2 =[NSFileManager defaultManager];

NSLog(@"\nfm0 = %p,fm1 = %p,fm2 = %p",fm0,fm1,fm2);

NSData*data = [[NSString stringWithFormat:@"main"] dataUsingEncoding:NSUTF8StringEncoding];

NSString*path = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/main.txt"];if(![fm1 fileExistsAtPath:path]) {if([fm1 createFileAtPath:path contents: data attributes:nil]) {

NSLog(@"create success");

NSDictionary*d =[fm1 attributesOfItemAtPath:path error:nil];

NSLog(@"\nattributesOfItemAtPath = \n%@",d);//NSFileSize是预定义的文件属性key,可通过查看系统文件获取其他属性key并通过//以下方法获取其属性值NSNumber *filesize =[d valueForKey:NSFileSize];

NSLog(@"\nfilesize = %@",filesize);//读文件NSData *data1 =[fm1 contentsAtPath:path];

NSString*s =[[NSString alloc] initWithData:data1 encoding:NSUTF8StringEncoding];//文件系统的属性//总空间,已用空间,可用空间,文件数量,NSLog(@"\nattributesOfFileSystemForPath = \n%@",[fm1 attributesOfFileSystemForPath:path error:nil]);

NSLog(@"\nmain.txt = %@",s);

}

}else{

NSString*copypath = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/main_copy.txt"];

[fm1 copyItemAtPath:path toPath:copypath error:nil];//重命名可以目标路径与主路径一致但是文件名不同NSString *movepath = [NSHomeDirectory() stringByAppendingPathComponent:@"/Documents/main_move.txt"];

[fm1 moveItemAtPath:path toPath:movepath error:nil];//删除文件if([fm1 removeItemAtPath:path error:nil]) {

NSLog(@"remove %@ success",path);

}if([fm1 removeItemAtPath:copypath error:nil]) {

NSLog(@"remove %@ success",copypath);

}if([fm1 removeItemAtPath:movepath error:nil]) {

NSLog(@"remove %@ success",movepath);

}

}

stringWriteToFile();

arrayWriteToFile();

dictionaryWriteToFile();return0;

}

结果:

2015-03-0821:18:26.064NSFileManagerDemo[1686:79942]

fm0=0x1001145d0,fm1 =0x100114620,fm2 =0x1001146202015-03-0821:18:26.075NSFileManagerDemo[1686:79942] remove /Users/yoran_yang/Documents/main_copy.txt success2015-03-0821:18:26.076NSFileManagerDemo[1686:79942] remove /Users/yoran_yang/Documents/main_move.txt success2015-03-0821:18:26.076NSFileManagerDemo[1686:79942]string=test2015-03-0821:18:26.077NSFileManagerDemo[1686:79942]

test.text=test2015-03-0821:18:26.078NSFileManagerDemo[1686:79942] array =(

a,

b,

b,

c

)2015-03-0821:18:26.078NSFileManagerDemo[1686:79942]

test2.txt=

<?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC"-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PRopertyList-1.0.dtd">

<plist version="1.0">

<array>

<string>a</string>

<string>b</string>

<string>b</string>

<string>c</string>

</array>

</plist>2015-03-0821:18:26.079NSFileManagerDemo[1686:79942]

dictionary={

a=1;

b=2;

c=3;

d=4;

}2015-03-0821:18:26.079NSFileManagerDemo[1686:79942]

test3.txt=

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC"-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>a</key>

<string>1</string>

<key>b</key>

<string>2</string>

<key>c</key>

<string>3</string>

<key>d</key>

<string>4</string>

</dict>

</plist>Program ended with exit code:0

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航