【发布时间】:2017-04-13 14:35:00
【问题描述】:
我正在尝试将 xlsx 文件从文档文件夹保存到应用程序文件夹。这是代码,但显示错误:
Error Domain=NSCocoaErrorDomain Code=260 "文件“file1.xlsx”无法打开,因为没有这样的文件。" UserInfo={NSFilePath=file:///private/var/mobile/Containers/Data/Application/8AC91C23-3662-44FF-90EF-20F6A34AF61F/Documents/file1.xlsx, NSUnderlyingError=0x16169a60 {错误域=NSPOSIXErrorDomain Code=2"没有这样的文件或目录"}}
let directoryContents = try NSFileManager.defaultManager().contentsOfDirectoryAtURL( documentsUrl, includingPropertiesForKeys: nil, options: [])
let xlsxFiles = directoryContents.filter{ $0.pathExtension == "xlsx" }
let xlsxFileNames = mp3Files.flatMap({$0.URLByDeletingPathExtension?.lastPathComponent})
var fileManager = NSFileManager.defaultManager()
do {
try fileManager.copyItemAtPath(xlsxFiles[0].absoluteString, toPath: NSBundle.mainBundle().resourcePath! + xlsxFileNames[0] + ".xlsx")
}
catch let error
{
print(error)
}
【问题讨论】:
-
在设备上,应用程序包是只读的。为什么你认为文件应该在捆绑包中?
-
在模拟器上运行并手动检查文件是否存在。
-
@PhillipMills 他必须将该文件放入创建项目的捆绑文件中。
-
@meet 将文件添加到项目并不能确保它已添加到包中,您还需要将文件添加到目标。
-
@PhillipMills github.com/renebigot/XlsxReaderWriter 使用这个从包中打开文件的库,这就是这个库如何找到 excel 文件的路径 NSBundle.mainBundle().pathForResource("testWorkbook", ofType: "xlsx")知道我该怎么做吗?