Очистить содержимое файла в C#
В этом посте будет обсуждаться, как очистить содержимое файла в C#.
1. Использование File.WriteAllText() метод
The File.WriteAllText() Метод обычно используется для записи текста в файл. Чтобы очистить содержимое файла, вы можете просто записать пустой текст в файл, используя WriteAllText() метод, как показано ниже:
using System ;
using System . IO ;
public class Example
public static void Main ( )
string path = @»C:\data.txt» ;
File . WriteAllText ( path , string . Empty ) ;
Обратите внимание, что File.WriteAllText() метод создаст новый файл, если файл не находится по указанному пути.
2. Использование FileStream.SetLength() метод
Другой вариант — создать новый файловый поток, установить длину файлового потока на 0 с помощью FileStream.SetLength() метод и, наконец, очистить поток. Вот пример его использования:
using System ;
using System . IO ;
public class Example
public static void Main ( )
string path = @»C:\data.txt» ;
using ( FileStream fs = new FileStream ( path , FileMode . Open ) ) < fs . SetLength ( 0 ) ;
Вместо открытия потока в FileMode.Open режим, вы можете напрямую открыть поток с FileMode.Truncate режим и закройте его. Это очистит содержимое файла, даже не вызывая FileStream.SetLength() метод.
using System ;
using System . IO ;
public class Example
public static void Main ( )
string path = @»C:\data.txt» ;
using ( FileStream fs = new FileStream ( path , FileMode . Truncate ) ) <
Обратите внимание, что оба приведенных выше решения будут вызывать FileNotFoundException если система не смогла найти указанный файл.
3. Использование File.Create() метод
Наконец, вы можете использовать File.Create() метод, который создает файл по указанному пути, если он не существует. Если файл существует и не доступен только для чтения, его содержимое перезаписывается.
Очистить файл
Очистить файл
Как через класы потоков очистить открытый файл? 32 строка вроде ф-ция для очистки, но она не.
Очистить текстовый файл
есть функция сохранения в файл.. int out_file(char* filename,date* cor) < fstream.
Как очистить файл с вводом множества объектов?
Доброго времени суток! Написал код с вводом множества объектов. Ввожу объекты. Потом , понятное.
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
file = open( "filename", std::ios::in | std::ios::out ); |
Регистрация: 09.09.2011
Сообщений: 40
файл Я открывал так
std::fstream file("c:\\pass.txt",ios_base::in|ios_base::out);
или смысл ответа в другом?
Добавлено через 4 минуты
видимо проще всего так
while ((c = file.get()) != EOF){}
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
Сообщение от ganjawar
или смысл ответа в другом?
В другом.
Файл переоткроется для записи, т.е. очиститься(вам ведь это надо?), и для считывания(но т.к. он пустой, то считывать будет нечего).
P.S. если вы ничего в файл не пишите во время выполнения программы, то он и так пустой будет(из-за ios::out очистится).
P.P.S. неправильно написал немного, open — не функция, а метод.
Т.е. писать нужно так
file.open( "filename", std::ios::in | std::ios::out );
Хотя что-то не то я говорю видимо, секунду.
А, нет, все правильно, нужно просто не забыть закрыть файл.
Что-то вроде такого
1 2 3 4 5
std::fstream in("input.txt", std::ios::in); //в файле что-то есть in.close(); in.open("input.txt", std::ios::out | std::ios::in); //файл пуст
геморно без компилятора все-таки.
Удалить все содержимое файла (очистить файл) в Unix/Linux
Хочу описать в своей статье «Удалить все содержимое файла в Unix/Linux» как можно очистить содержимое файла. Некоторые скажут что это банально, взял удалил файл и создал заново, делов то. Но иногда это не проще и не выход.
Тем более для общего развития, та кому то и пригодиться. Я вот, например, не все методы знал.
1. Если вы хотите очистить содержимое файла вы можете просто удалить файл и создать его заново:
$ rm -rf /home/captain/file_for_delete.txt
2. Существуют и другие методы очистки файла, например методом «echo».
Чтобы очистить свой файл, просто введите следующую команду. Я использую свой php_error.log файл, например.
# echo -n > /home/captain/some_file_for_clear.txt
3. Можно удалить содержимое файла с помощью редакторов, например VI/VIM. Открываем файл, я открою его vim:
# vim /home/captain/some_file_for_clear.txt
Когда открылся редактор, нажимаем «dG» и чтобы сохранить, используем сначала «:» и наживаем «wq» после чего нажимаем энтер.
PS: Команды нужно использовать без кавычек.
4. Используем null для очистки файла:
# cat /dev/null > /home/captain/file_clean.sh
# cp /dev/null > /home/captain/file_clean.sh
5. Еще 1 интересная команда для очистки файла:
# :> /home/captain/file_clean.sh
# > /home/captain/file_clean.sh
6. С помощью текстового редактора SED:
# sed -i 'd' file_clean.sh
Тема «Удалить все содержимое файла (очистить файл) в Unix/Linux» завершена.
Трюк в командной строке — Очистить содержимое файла
Чтобы очистить содержимое файла, не удаляя самого файла, можно использовать следующую команду:
> myfile.txt
В результате выполнения данной команды содержимое файла myfile будет очищено, и мы получим пустой файл.
Очистка содержимого файла с использованием sudo
Описанный выше способ не работает, если вам нужно использовать sudo, то есть очистить файл от имени суперпользователя.
Для очистки файла с использованием sudo можно использовать команду:
sudo truncate -s 0 myfile.txt
Еще несколько способов
Есть множество способов, с помощью который можно очистить содержимое файла, используя командную строку Linux. Вот некоторые из них:
echo -n "" > myfile.txt
: > myfile.txt
true > myfile.txt
cat /dev/null > myfile.txt
cp /dev/null > myfile.txt
dd if=/dev/null of=myfile.txt
Будьте внимательны при использовании команд, которые очищают содержимое файлов, чтобы случайно не удалить нужные данные. Не забывайте делать резервные копии.