Я хочу очистить содержимое файла, у которого есть определенное расширение file.tctl, я не хочу ничего менять в файле, не удаляя его. Файл создается из определенной проверки модели, поэтому мне нужно только удалить содержимое и написать свое собственное. Я попытался напечатать пустую строку:
PrintWriter writer = new PrintWriter(file.tctl); writer.print(""); writer.close();
но файл больше не работает. Итак, если есть другой способ очистки содержимого файла.
Вызовите метод write() следующим образом:
.write((new String()).getBytes());
Это сделает ваш файл пустым. Если это не работает, попробуйте:
FileOutputStream erasor = new FileOutputStream("filename.ext");
erasor.write((new String()).toByteArray());
erasor.close();
Или просто попробуйте перезаписать файл
//open file in override mode
FileOutputStream out = new FileOutputStream("filename.ext");
//now anything that we write here will remove the old one so just write space ("") here
Самый простой способ, я думаю
new RandomAccessFile("filename.ext", "rw").setLength(0);
Просто удалите отпечаток полностью из своего кода. Вы уже обрезали файл с помощью нового FileOutputStream/PrintWriter/все, что вы используете, чтобы открыть его. Нет ввода-вывода или усечения(). Не используйте режим добавления.
Вы должны использовать FileOutputStream, а затем у вас есть метод truncate():
File f = new File("path-of-the-file.here"); FileChannel channel = new FileOutputStream(f, true).getChannel(); channel.truncate(0); channel.close();