文件管理

来源:互联网 发布:mac os x10.5下载 编辑:程序博客网 时间:2024/05/29 03:20

文件操作



NSFileManager:

创建对象:

NSString *str = [[NSString alloc] initWithString:@"c:/a.txt"];

NSFileManager *fileManager = nil;

fileManager = [NSFileManager defaultManager];

获取路径:

Object-c提供了一个获取执行主目录的方法:NSHomeDirectory();

创建新文件:

[fileManager createFileAtPath:newFilePath contents:nil attributes:nil];

contents参数:就是要写进文件的内容


创建NSFileHandle:通过handler来读写文件

    第一步:读取文件

复制代码
NSFileHandle *fileHandler=[NSFileHandle fileHandleForReadingAtPath:newFilePath];        if(fileHandler==nil){            NSLog(@"文件不存在");        }else{            NSLog(@"文件存在");                        NSData *buffer=[fileHandler readDataToEndOfFile];//NSData 相当于byte字节数组一样}

第二步:写入文件内容

NSFileHandle *writeHandler=[NSFileHandle fileHandleForWritingAtPath:@"/ISO DeV/File.txt"];[writeHandler writeData:buffer];[writeHandler closeFile];[fileHandler closeFile];

 最后使用如下代码验证一下是否写入到新的文件,也当回顾一下这个方法:

NSLog(@"%@",[NSString stringWithContentsOfFile:@"/ISO DeV/File.txt" encoding:NSUTF8StringEncoding error:nil]);

追加文件内容

    如果要像写入文件的时候不覆盖原有内容,我们必须设置文件的NSFileHandle的偏移量,如果是追加文件我们只需要偏移量移到最后即可。而设置文件操作偏移量使用方法seekToFileOffset 或者使用 seekToEndOfFile 将文件偏移量移到最后面。

复制代码
NSString *value=@"adsfasfasf4343434";NSData *data= [value dataUsingEncoding:NSUTF8StringEncoding];NSFileHandle *write=[NSFileHandle fileHandleForWritingAtPath:@"/ISO DeV/File.txt"];[write seekToEndOfFile];[write writeData:data];[write closeFile];


0 0
原创粉丝点击