下面这个程序 将 一个文件的内容 添加 到另外一个文件当中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#import <Foundation/NSObject.h>
#import <Foundation/NSString.h>
#import <Foundation/NSFileHandle.h>
#import <Foundation/NSFileManager.h>
#import <Foundation/NSAutoreleasePool.h>
#import <Foundation/NSData.h>
intmain(intargc,constchar*argv[])
{
NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
NSFileHandle*inFile,*outFile;
NSData*myBuffer;
//为文件file_1创建文件操作柄
inFile=[NSFileHandlefileHandleForReadingAtPath:@"file_1"];
if(inFile==nil)
{
NSLog(@"打开文件file_1失败");
return1;
}
//为文件file_2创建文件操作柄
outFile=[NSFileHandlefileHandleForWritingAtPath:@"file_2"];
if(outFile==nil)
{
NSLog(@"打开文件file_2失败");
return2;
}
//将文件file_2的操作位置设定为文件的末尾处
[outFileseekToEndOfFile];
//将文件file_1的内容读取出来,并且存储到缓冲区myBuffer
myBuffer=[inFilereadDataToEndOfFile];
//将缓冲区myBuffer中的内容写入文件file_2
[outFilewriteData:myBuffer];
//关闭文件file_1
[inFilecloseFile];
//关闭文件file_2
[outFilecloseFile];
[pooldrain];
return0;
}
|
在运行 这个程序之前,我 先在可执行文件所在的目录中 创建 file_1 和 file_2这两个文件:

然后 再在这两个文件中 分别 输入 下面的内容:

最后 运行 这个程序。运行完 这个程序过后,再次 打开 file_2这个文件,我们 可以看到 如下的改变:

在这个程序当中,我 把 第二个文件file_2 打开过后,将 这个文件的操作位置 移动 到文件的末尾处。接着 将 第一个文件file_1的内容 写入 第二个文件file_2当中,写入的位置 刚好是 之前设定好的操作位置,也就是 文件的末尾处。
seekToEndOfFile这项措施 将 文件操作位置 设定 到文件末尾处之后,会将 这个位置 传递 给你,不过 你 可以选择 忽略。你 可以利用 这点 来获取 文件的尺寸。