ios - 我正在尝试查找文件大小。但是我的长度等于零

标签 ios nsfilemanager nsfilehandle

我正在尝试查找文件大小。

 NSFileHandle *output = [NSFileHandle fileHandleForWritingAtPath:self.finalPath]; 
//seek to begin of the file
[output seekToFileOffset:0];
NSData *mydata = [output availableData];
NSLog(@"length: %d", [mydata length]);
但是我的长度等于零。为什么?

最佳答案

availableData用于读取文件。如果您只想找出文件的大小,则实际上不必打开它。像这样使用NSFileManager:

NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:self.finalPath error:NULL];
unsigned long long fileSize = [attributes fileSize]; // in bytes

关于ios - 我正在尝试查找文件大小。但是我的长度等于零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9479824/

相关文章:

ios - NSFileManager:试图删除文件,但它说它们不存在

ios - containerURLForSecurityApplicationGroupIdentifier 获得零值

ios - 将大视频文件路径转换为 ​​NSData 时出现内存问题。如何使用InputStream/FileHandle解决这个问题?

ios - 使用 NSFileHandle 覆盖数据

iOS Core data如何使用NSPredicate基于一对多子属性查找父对象?

ios - 如何在 Flutter 中隐藏导航栏(在 iPhone X 上)

iOS : NSFileManager copyItemAtPath is memory intensive

iphone - 如何使用自定义 UISearchBar 获取 searchBarDelegate 方法?

ios - UICollectionView 更改 Drop Placeholder 索引路径

ios - 创建一个特定大小的空文件并使用 fseek 将新数据写入特定位置