我正在尝试将一些数据写入iphone sdk中的文件....我正在使用for语句来更好地解释情况我有一些代码:
for(int i = 0;i < 11;i++){
NSString *myFile = [documentsDirectory stringByAppendingPathComponent:@"hello.txt"];
[i writeToFile: myFile atomically:NO encoding:NSUTF8StringEncoding error:NULL];
}
现在我希望在文件中写入12345678910,但只写入10个,这意味着每次写入文件时文件都会被删除。所以我的问题是如何编写1到10而无需将所有内容都放入字符串因为我有很多数据..
感谢
答案 0 :(得分:4)
SDK文档说明了-writeToFile:atomically:encoding:error
:此方法会覆盖路径上的所有现有文件。
该方法用于将字符串转储到文件中。出于您的目的,您可以构建字符串,也可以使用[NSFileHandle fileHandleForWritingAtPath]
打开文件:
NSString *myFile = [documentsDirectory stringByAppendingPathComponent:@"hello.txt"];
NSFileHandle *file = [NSFileHandle fileHandleForWritingAtPath:myFile];
for(int i = 0; i <= 10; i++) {
NSString *dataString = [NSString stringWithFormat:@"%i", i];
[file writeData:[dataString dataUsingEncoding:NSUTF8StringEncoding]];
}
[file closeFile];
答案 1 :(得分:2)
如果您正在尝试将一系列整数写入文件,我会这样做:
NSFileHandle *fileHandle = [NSFileHandle fileHandleForWritingAtPath:FILE_PATH];
for(int i=0; i<11; i++)
{
NSString *str = [NSString stringWithFormat:@"%d",i];
[fileHandle writeData:[str dataUsingEncoding:NSUTF8StringEncoding]];
}
[fileHandle closeFile];