ファイルがすでに存在する場合、ファイル名をインクリメントする方法は?ファイルが既に存在する場合、ファイル名をインクリメントする方法は?
let count: Int = 1
var newFileName = ""
let path = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as String
let url = NSURL(fileURLWithPath: path)
let filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path!
let fileManager = NSFileManager.defaultManager()
if fileManager.fileExistsAtPath(filePath) {
print("FILE AVAILABLE")
newFileName = "MyDoc\(count).pdf"
} else {
print("FILE NOT AVAILABLE")
}
MyDoc.pdf、MyDocで(1).PDF、MyDocで(5).PDFを、その後インクリメントする方法:ここで私が使用していたコードですか?私はこのコードをコンパイルしようとしていない:
guard var filePath = url.URLByAppendingPathComponent("MyDoc.pdf").path else {
// force-unwrapping is not the answer! Handle error
return
}
let fileManager = NSFileManager.defaultManager()
var counter = 0
while fileManager.fileExistsAtPath(filePath) {
counter += 1
newFileName = "MyDoc(\(counter)).pdf"
let newURL = url.URLByAppendingPathComponent(newFileName)
guard let newPath = newURL.path else {
// Handle error (shouldn't happen anyway)
return
}
path = newPath // Try again...
}
注:あなたが取られていないファイル名を見つけるまで
エラーはありますか? –
'while'文を使用してください! –
あなたの質問を説明してください! –