Как я могу удалить содержимое файла, не удаляя его самостоятельно?

1

Я хочу очистить содержимое файла, у которого есть определенное расширение file.tctl, я не хочу ничего менять в файле, не удаляя его. Файл создается из определенной проверки модели, поэтому мне нужно только удалить содержимое и написать свое собственное. Я попытался напечатать пустую строку:

PrintWriter writer = new PrintWriter(file.tctl); writer.print(""); writer.close();

но файл больше не работает. Итак, если есть другой способ очистки содержимого файла.

Теги:
file

4 ответа

-1
Лучший ответ

Вызовите метод 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 
  • 0
    Надеюсь, это поможет ;)
  • 0
    да это было полезно: D
Показать ещё 1 комментарий
0

Самый простой способ, я думаю

new RandomAccessFile("filename.ext", "rw").setLength(0);
0

Просто удалите отпечаток полностью из своего кода. Вы уже обрезали файл с помощью нового FileOutputStream/PrintWriter/все, что вы используете, чтобы открыть его. Нет ввода-вывода или усечения(). Не используйте режим добавления.

  • 0
    не могли бы вы объяснить больше, я не могу понять, что именно вы имеете в виду
-2

Вы должны использовать FileOutputStream, а затем у вас есть метод truncate():

File f = new File("path-of-the-file.here");
FileChannel channel = new FileOutputStream(f, true).getChannel();
channel.truncate(0);
channel.close();
  • 0
    но если я использую новый файл, файл будет удален и будет создан новый файл с тем же именем. Я хочу сохранить тот же файл
  • 0
    Нет, новый Файл не создает новый файл в каталоге, он только создает «представление файла» в Java.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню