obj c 中的文件管理器

发布于 2024-10-27 03:24:18 字数 836 浏览 1 评论 0原文

在我的 iPhone 应用程序中,我使用文件管理器来检查文件大小,代码在模拟器上运行良好,但是当我在 iPhone 上运行相同的应用程序时,它说文件大小为零,即使文件大小大于零,我是使用以下代码:

NSArray *paths1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths1 objectAtIndex:0];
documentsDirectory1 = [documentsDirectory1 stringByAppendingPathComponent:@"XML"];
NSString * szDestPath1 = [documentsDirectory1 stringByAppendingPathComponent:@"Extras"];
NSString *URL2 = [szDestPath1 stringByAppendingPathComponent:@"config.xml"];


NSLog(@"%@",URL2);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL2 error:&attributesError];

int _fileSize = [fileAttributes fileSize];

NSLog(@"_fileSize:%U",_fileSize); //0 if empty

我该如何解决这个问题,有人可以帮助我吗?提前致谢。

in my iPhone app I'm using file manager to check size of file,code is working fine on simulator, but when I run the same app on iphone it is saying file size is zero even though file size is greater than zero, I am using following code:

NSArray *paths1 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory1 = [paths1 objectAtIndex:0];
documentsDirectory1 = [documentsDirectory1 stringByAppendingPathComponent:@"XML"];
NSString * szDestPath1 = [documentsDirectory1 stringByAppendingPathComponent:@"Extras"];
NSString *URL2 = [szDestPath1 stringByAppendingPathComponent:@"config.xml"];


NSLog(@"%@",URL2);
NSError *attributesError = nil;
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:URL2 error:&attributesError];

int _fileSize = [fileAttributes fileSize];

NSLog(@"_fileSize:%U",_fileSize); //0 if empty

How can I solve this, can anyone help me? thanx in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

吃→可爱长大的 2024-11-03 03:24:18

您确定该文件存在吗?

通常,如果一段涉及文件的代码在模拟器上运行良好,但在设备上运行不佳,则是因为文件名错误。大多数模拟器在不区分大小写的文件系统上运行,但设备具有区分大小写的文件系统。

因此,请再次检查您是否使用了正确的文件路径。

您可以添加类似的内容以确保该文件存在:

if (![[NSFileManager defaultManager] fileExistsAtPath:URL2]) {
    NSLog(@"File does not exist");
}

Are you sure that the file exists?

Usually if a piece of code that involves files works fine on the simulator but not on the device it is because of wrong filenames. Most simulators run on a case-insensitive filesystem, but the device has a case-sensitive filesystem.

So please check again if you use the correct file path.

You could add something like this to make sure that the file exists:

if (![[NSFileManager defaultManager] fileExistsAtPath:URL2]) {
    NSLog(@"File does not exist");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文