2016-04-24 2 views

ответ

1

Если вы хотите удалить содержимое файла, но не сам файл, вы можете сделать:

PrintWriter pw = new PrintWriter("file.txt"); 
pw.close(); 

Несколько секунд Googling у меня это:

how to delete the content of text file without deleting itself

How to clear a text file without deleting it?

Чтобы полностью удалить файл, сделайте следующее:

File file = new File("file.txt"); 
f.delete(); 
0

Позвонить File.delete() который удаляет файл или каталог, обозначенные этим путем.

File f = new File("foo.txt"); 
if (f.delete()) { 
    System.out.println("file deleted"); 
} 
0

Основной причиной мне нужно перезаписать файл ...

Один из способов сделать это, чтобы удалить файл с помощью File.delete() или Files.delete(Path). Последнее предпочтительнее, поскольку оно может сказать вам, почему удаление не выполняется.

Другой способ - просто открыть файл для записи. Если вы не открываете в режиме «append», открытие файла для записи приведет к обрезанию файла до нулевых байтов.


Обратите внимание, что существует тонкая разница в поведении этих двух подходов. Если вы удалите файл и затем создадите новый, любое другое приложение, которое имеет тот же самый файл, не заметит. Напротив, если вы усекаете файл, тогда другие приложения с открытым файлом будут наблюдать за последствиями усечения при их чтении.

Собственно, это зависит от платформы. На некоторых платформах приложение Java, которое пытается открыть файл для чтения этого другого файла, открытое для записи, получит исключение.

0

Да, вы можете сделать это с помощью FileOutputStream. Все приведенные ответы говорят о PrintWriter, но то же самое можно сделать с FileOutputStream. Внутреннее представление пространства равно 32. Поэтому просто передайте файл экземпляру FileOutputStream как: FileOutputStream out = new FileOutputStream (файл); out.write (32);

Это очистит содержимое файла. Конечно, используйте это только у, вы хотите сделать это с FileOutputStream, иначе используйте PrintWriter.