给定一个路径文件[[self documentsDirectory] stringByAppendingPathComponent:@"myFiles/aFile.txt"]
,如何在我的apps文档目录中删除文件?
Ben*_*ieb 96
NSFileManager是一个非常方便的工具:
[[NSFileManager defaultManager] removeItemAtPath: pathToFile error: &error];
Run Code Online (Sandbox Code Playgroud)
在Swift 3中,FileManager
有一个名为的方法removeItem(at:)
。removeItem(at:)
具有以下声明:
func removeItem(at URL: URL) throws
Run Code Online (Sandbox Code Playgroud)
删除指定URL上的文件或目录。
下面的代码片段显示了如何使用删除文件removeItem(at:)
:
do {
try FileManager.default.removeItem(at: fileUrl)
} catch {
print("Could not delete file: \(error)")
}
Run Code Online (Sandbox Code Playgroud)
作为一个完整的示例,以下UIViewController
子类实现显示如何将应用程序捆绑包中的文件复制到文档目录中的特定url,删除文档目录中特定url处的文件,以及检查文件是否存在于文档中特定url处目录:
import UIKit
class ViewController: UIViewController {
@IBAction func copyFile(_ sender: UIButton) {
// Get app bundle file url
guard let bundleFileUrl = Bundle.main.url(forResource: "Movie", withExtension: "mov") else { return }
// Create a destination url in document directory for file
guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
let documentDirectoryFileUrl = documentsDirectory.appendingPathComponent("Movie.mov")
// Copy bundle file to document directory
if !FileManager.default.fileExists(atPath: documentDirectoryFileUrl.path) {
do {
try FileManager.default.copyItem(at: bundleFileUrl, to: documentDirectoryFileUrl)
} catch {
print("Could not copy file: \(error)")
}
}
}
@IBAction func deleteFile(_ sender: UIButton) {
// Get destination url in document directory for file
guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
let documentDirectoryFileUrl = documentsDirectory.appendingPathComponent("Movie.mov")
// Delete file in document directory
if FileManager.default.fileExists(atPath: documentDirectoryFileUrl.path) {
do {
try FileManager.default.removeItem(at: documentDirectoryFileUrl)
} catch {
print("Could not delete file: \(error)")
}
}
}
@IBAction func checkIfFileExist(_ sender: UIButton) {
// Get destination url in document directory for file
guard let documentsDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else { return }
let outputUrl = documentsDirectory.appendingPathComponent("Movie.mov")
// Print if file exists in document directory or not
FileManager.default.fileExists(atPath: outputUrl.path) ? print("File exists") : print("File does not exist")
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28965 次 |
最近记录: |