2011-12-19 302 views
0

在我有这个文件,它包含:将文本添加到文件,其内容开头的文件

“AAAAAAA”

我要添加“11111”上面的文件。我尝试了两种不同的来电,都与seekToFileOffset:0:

fileHandleForWritingAtPath:

“11111AA”

在文件的前部的一些项目被截断(消失)

我也尝试过:

fileHandleForUpdatingAtPath:

它还结束:

“11111AA”

回答

0

你有两个选择,这取决于你的技术水平

  • 重写使用新名称的文件,删除原始文件,而新写的文件重命名为原来的名称。
  • 重写文件到位。例如,使用1K缓冲区,可以通过从最后开始执行此操作,读取最后一个1K,并在同一位置重写+一个与要插入的字节数相对应的偏移量。重复先前的所有数据。当您到达文件的前面时,您将按所需偏移量移动所有数据,然后可以写入新数据。
相关问题