Удаление содержимого текстового файла
Я читаю и пишу в текстовый файл. Существует случай, когда я хочу удалить содержимое файла (но не файл) в качестве своего рода перезагрузку. Как я могу это сделать?
if ((dirs) != nil) {
var dir = dirs![0]; //documents directory
let path = dir.stringByAppendingPathComponent("UserInfo.txt");
println(path)
let text = "Rondom Text"
//writing
text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil)
//reading
let text2 = String(contentsOfFile: path, encoding: NSUTF8StringEncoding, error: nil)
println(text2)
3 ответов
просто напишите пустую строку в файл следующим образом:
let text = ""
text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding, error: nil)
Если вы создали NSFileHandle
, вы можете использовать -truncateFileAtOffset:
, передавая 0 для смещения.
или, как указано в комментариях, вы можете просто записать пустую строку или данные в файл.
или вы можете использовать какую-то структуру данных / базу данных, которая не требует ручного усечения файлов :)
Swift 3.x
let text = ""
do {
try text.write(toFile: fileBundlePath, atomically: false, encoding: .utf8)
} catch {
print(error)
}
Swift 4.x
let text = ""
do {
try text.write(to: filePath, atomically: false, encoding: .utf8)
} catch {
print(error)
}