如何在swift中读取文件数据应用程序文档目录?

时间:2014-11-01 12:13:20

标签: swift

我是Swift编程语言的新手。我想从一些电子管服务器下载电影,想要离线播放。我正在使用Alamofire下载部分。我可以列出文件:

var file:String?
if let files = NSFileManager.defaultManager().contentsOfDirectoryAtPath(documentsDirectory, error: &error) as? [String] {
                for filename in files {
                    // do stuff with filename
                    file = filename
                    println(filename)
                }
            }

但问题是如何将该文件用于我的目的。假设它的图像文件,我想在imageview中显示。

myImageView.image = UIImage(contentsOfFile: file) /* doesn't work*/

谢谢你的帮助。

4 个答案:

答案 0 :(得分:6)

试试这段代码:

var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
var getImagePath = paths.stringByAppendingPathComponent("filename")
myImageView.image = UIImage(contentsOfFile: getImagePath)

我希望这项工作。

答案 1 :(得分:6)

对于 Swift 2 ,你必须改变一些东西。 注意: stringByAppendingPathComponent在String上不再可用(仅限NSString):

var paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString
var getImagePath = paths.stringByAppendingPathComponent("filename")
myImageView.image = UIImage(contentsOfFile: getImagePath)

答案 2 :(得分:0)

文件管理用于以下功能,请检查一次。

1)在文档目录或临时目录中创建文件夹,

2)将文件从temp复制到文件目录,移动路径,

3)从文档目录中删除

4)列出文档目录中的所有文件,使用文档目录中的扩展名列出文件(例如:如果文档目录中有.mp3和.jpg以及.text文件,并且只需要.mp3文件),

5)保存文件

6)获取文件路径

https://github.com/IosPower/FileManage

答案 3 :(得分:-3)

目前,您只是将文件名传递给UIImage(contentsOfFile)。你需要传递整个路径,即:

myImageView.image = UIImage(contentsOfFile: "\(documentsDirectory!)/\(filename)")  //hopefully does work!