English 中文(简体)
如何在iOS中发现大型文件的存在?
原标题:how to detect existence of large file in iOS?

运行时, 我的应用程序下载了一些大型视频文件, 并播放它们。 它们很大, 所以我想它们随时会被系统抹去, 试图恢复记忆 。

我使用 时遇到麻烦:

然后我发现了一个"<回答 说我们应该not 使用 -fileExistsAtPath 来确定文件是否存在。

推荐的解决方案是 open 文件, 并查看文件打开时是否失败。 即使对于 30MB 文件, 我也不担心这里的种族状况; 文件是从服务器下载的, 并在 MediaPlayer 中播放。 我是否还要打开 30MB 文件, 以查看它是否存在, 而不是使用文件ExistAtPath?

最佳回答

如果您跟踪讨论为什么建议不要使用 fileExistsAtPath (见Race条件和安全文件操作 ) 的链接,考虑到iPhone应用程序的沙箱,这可能是可以接受的风险。

问题回答

砛硂癸Τ腊

NSDictionary *fileAttributes = [fileManager fileAttributesAtPath:filePath traverseLink:YES];
    if(fileAttributes != nil)
    {
        NSString *fileSize = [fileAttributes objectForKey:NSFileSize];
    enter code here

        NSLog(@"File size: %@ kb", fileSize);
    }

如果种族条件无关紧要的话, 请使用文件ExistAtPath。 iOS 设备上有什么权限?





相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签