writeToFile NSFileHandle 文件的写入
[writer writeToFile:logPath atomically:YES];这句是往文件里面写数据 这都是覆盖式写入的
atomically的YES 或 NO :YES
表示保证文件的写入原子性,就是说会先创建一个临时文件,直到文件内容写入成功再导入到目标文件里.
NO 则直接写入目标文件里.
如果要采用追加式的文件写入,也就是不覆盖原文件的内容
可以采用NSFileHandle:
在搜索操作执行完毕之后,seekToEndOfFile返回当前文件的偏移量。选择忽略这个值,如果需要,可以使用这个信息来获得程序中文件的大小
atomically的YES 或 NO
如果要采用追加式的文件写入,也就是不覆盖原文件的内容
#import
02 |
|
03 |
int
main( int argc,
const char * argv[]) |
04 |
{ |
05 |
|
06 |
@autoreleasepool { |
07 |
|
08 |
NSFileHandle
*inFile, *outFile; |
09 |
NSData
*buffer; |
10 |
|
11 |
//打开fileA用于读操作 |
12 |
inFile
= [NSFileHandle fileHandleForReadingAtPa "fileA.txt" ]; |
13 |
|
14 |
if (inFile
== nil) |
15 |
{ |
16 |
NSLog(@ "Open of fileA.txt
reading failed" ); |
17 |
return
1; |
18 |
} |
19 |
|
20 |
//打开fileB用于更新操作 |
21 |
outFile
= [NSFileHandle fileHandleForWritingAtPa "fileB.txt" ]; |
22 |
|
23 |
if (outFile
== nil) |
24 |
{ |
25 |
NSLog(@ "Open of fileB for
writing failed" ); |
26 |
return 2; |
27 |
} |
28 |
|
29 |
//找到并定位到outFile的末尾位置(在此后追加文件) |
30 |
[outFile
seekToEndOfFile]; |
31 |
|
32 |
//读取inFile并且将其内容写到outFile中 |
33 |
buffer
= [inFile readDataToEndOfFile]; |
34 |
[outFile
writeData:buffer]; |
35 |
|
36 |
//关闭读写文件 |
37 |
[inFile
closeFile]; |
38 |
[outFile
closeFile]; |
39 |
|
40 |
|
41 |
|
42 |
} |
43 |
return 0; |
44 |
} |
在搜索操作执行完毕之后,seekToEndOfFile返回当前文件的偏移量。选择忽略这个值,如果需要,可以使用这个信息来获得程序中文件的大小
网络上志同道合,我们一起学习网络安全,一起进步,QQ群:694839022