是否可以使用
cocoa在mac中获取文件/文件夹最后访问日期?
struct stat output; //int ret = stat([[[openPanel filenames] lastObject] UTF8String],&output); int ret = stat([[[openPanel filenames] lastObject] fileSystemRepresentation],&output); // error handling omitted for this example struct timespec accessTime = output.st_atimespec; NSDate *aDate = [NSDate dateWithTimeIntervalSince1970:accessTime.tv_sec]; NSLog(@"Access Time %d,%@",ret,aDate);
根据上面的代码,我尝试了UTF8String和fileSystemRepresentation,但两者都给了我当前的日期和时间.如果我做错了,请告诉我.
解决方法
使用stat系统调用的C方式将在Objective-C中工作.
例如
struct stat output; int ret = stat(aFilePath,&output); // error handling omitted for this example struct timespec accessTime = output.st_atime;
您应该通过将-fileSystemRepresentation发送到包含该路径的NSString来获取aFilePath.
另一种获得所需方法的方法是在指向所需文件的文件URL之前构造NSURL,并使用-resourceValuesForKeys:error:获取NSURLContentAccessDate资源值.