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

<p>мне нужно очищать содержимое определенного файла каждый раз, когда запускаются приложения. как мне это сделать?</p>

<p>вы можете использовать метод <a href="http://msdn.microsoft.com/en-us/library/ms143375.aspx">file.writealltext</a> .</p><pre><code>system.io.file.writealltext(@"path/foo.bar",string.empty); </code></pre>

<p>это то, что я сделал, чтобы <strong>очистить содержимое файла без создания нового файла</strong>, поскольку я не хотел, чтобы файл отображал новое время создания, даже когда приложение только обновило свое содержимое.</p><pre><code>filestream filestream = file.open(<path>, filemode.open); /* * set the length of filestream to 0 and flush it to the physical file. * * flushing the stream is important because this ensures that * the changes to the stream trickle down to the physical file. * */ filestream.setlength(0); filestream.close(); // this flushes the content, too. </code></pre>

<p>используйте <code>filemode.truncate</code> каждый раз, когда вы создаете файл. также поместите <code>file.create</code> внутри <code>try</code> <code>catch</code>.</p>

<p>самый простой способ сделать это, возможно, удалить файл через ваше приложение и создать новый с тем же именем ... еще проще - просто перезаписать его новым файлом.</p>

<p>попробуйте использовать что-то вроде</p><p> <a href="http://msdn.microsoft.com/en-us/library/d62kzs03%28v=vs.90%29.aspx">file.create</a> </p><blockquote> <p>создает или перезаписывает файл по указанному пути.</p> </blockquote>

<p>самый простой способ это:</p><pre><code>file.writealltext(path, string.empty) </code></pre><p>однако я рекомендую вам использовать <code>filestream</code>, поскольку первое решение может выдать <code>unauthorizedaccessexception</code></p><pre><code>using(filestream fs = file.open(path,filemode.openorcreate, fileaccess.readwrite)) { lock(fs) { fs.setlength(0); } } </code></pre>