0

在我的项目中,我NSlog使用代码将数据重定向到文件

freopen([FilePath cStringUsingEncoding:NSUTF8StringEncoding],"a+",stderr);

我们遇到了一个问题,如果我们继续写入数据文件大小可能会大大增加,我们想要限制数据。假设文件大小达到 2MB 后,我想清除旧数据并写入新数据。

我们该怎么做,我们如何在运行时检查文件大小。

4

1 回答 1

0

为此,您可以使用NSFileManagerattributesOfItemAtPath:的方法

NSError *err;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:&err];
NSNumber *fileSize           = [fileAttributes objectForKey:NSFileSize];

if(//Check whether the size is above 2 MB)
{
   //Remove old content by either removing file or clearing it
   [[NSFileManager defaultManager] removeItemAtPath:filePath error:&err];
}
else
{
   //Add data
   freopen([filePath cStringUsingEncoding:NSUTF8StringEncoding],"a+",stderr);
}
于 2013-07-15T06:13:42.620 回答