文件管理 · 2022年7月25日

filestream删除文件|c#中如何在写入文件之前将文本文件清空

Ⅰ C#用 StreamWriter创建的文件!怎么删除文件中的某条信息

StreamWrite是这样的,写入的文件原内容会被新写入的覆盖掉。如果一次写入一行,可以使用While()循环,只要读取的没有结束,就循环向文本写入内容,只要StreamWriter不结束,内容是可以持续写入的。如果下一次新写入内容,而原TXT的内容也要保存的话,可以用File.ReadAllText()方法,把原内容先读出来,然后把原内容+新写入的内容再写入进去。

Ⅱ 使用c#如何删除文件和文件内容

获取文件路径:比如同目录的a.txt,获取路径的方法为Application.startuppath+"\\a.txt"(注意一定要"\\")删除文件:File.Delete(path);//path为文件路径,string格式。替换成别的文件:1。写入文件,使用streamwriter2.移动别的文件:File.Move(sourcepath,path)//sourcepath为源路径,path为目标路径,均为string样例(之前做在线更新程序用的):File.Delete(Application.StartupPath + "\\dianmq.exe"); File.Move(Application.StartupPath + "\\temp\\dianmq\\dianmq.exe", Application.StartupPath + "\\dianmq.exe");注意要引用system和system.IO。有别的疑问欢迎继续追问。

Ⅲ .NET 用File.Copy()复制文件后删除文件

首先,你不是在做File Move操作么,为什么要用Copy方法呢?

File Stream资源是非托管资源(Unmanaged Resource),你需要自己手动释放其占用的资源, 不然就会报错。 关于File的详细信息直接参考MSDN:

http://msdn.microsoft.com/en-us/library/system.io.file(v=vs.110).aspx

针对你的需求,我给你写了一个简单的例子, 我直接使用File.Move方法来完成。

usingSystem;usingSystem.IO;usingSystem.Reflection;usingSystem.Text;namespaceFileDemos{classFileMoveDemo{staticvoidMain(){stringappDir=Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);stringfilePath=appDir+"\test.txt";stringtempPath=appDir+"\temp";stringnewFilePath=tempPath+"\test.txt";try{Console.WriteLine("Createatestfile:");Console.WriteLine(filePath);//Deletethefileifitexists.if(File.Exists(filePath)){//Notethatnolockisputonthe//fileandthepossibilityexists//thatanotherprocesscoulddo//somethingwithitbetween//thecallstoExistsandDelete.File.Delete(filePath);}//Createthefile.using(FileStreamfs=File.Create(filePath)){Byte[]info=newUTF8Encoding(true).GetBytes("Thisissometextinthefile.");//Addsomeinformationtothefile.fs.Write(info,0,info.Length);}//Movefiletoanotherplace.if(File.Exists(filePath)){//.if(File.Exists(newFilePath))File.Delete(newFilePath);//.if(!Directory.Exists(tempPath)){//Trytocreatethedirectory.DirectoryInfodi=Directory.CreateDirectory(tempPath);Console.WriteLine("Createatempdirectory:");Console.WriteLine(tempPath);}//Movethefile.File.Move(filePath,newFilePath);Console.WriteLine("{0}wasmovedto{1}.",filePath,newFilePath);}}catch(ExceptionEx){Console.WriteLine(Ex.ToString());}}}}

Ⅳ c#中,如何在写入文件之前将文本文件清空

把第一行改成以下就可以了:

FileStream fs = new FileStream("a.txt", FileMode.Create,FileAccess.Write )

FileMode.Create:

指定操作系统应创建新文件。如果文件已存在,它将被覆盖。此操作需要 FileIOPermissionAccess ..::.Write 。 System.IO.FileMode.Create 等效于这样的请求:如果文件不存在,则使用 CreateNew;否则使用 Truncate。

如果该文件已存在但为隐藏文件,则将引发 UnauthorizedAccessException。Truncate:指定操作系统应打开现有文件。文件一旦打开,就将被截断为零字节大小。此操作需要 FileIOPermissionAccess ..::.Write 。 尝试从使用 Truncate 打开的文件中进行读取将导致异常。

要清空或是改变让StreamWriter开始写的位置,要在StreamWriter之前先用FileStream操作fs.SetLength(0);清空你的文件。

fs.Seek(20, SeekOrigin.Begin),这句添加到StreamWriter之前,然后你的sw就从文件第20个字节开始写数据(如果文件有20个字节长的话.如果你文件不够20个字节,自动延长文件到20字节。

这个sw从文件末尾添加数据,FileStream fs = new FileStream("a.txt", FileMode.Open, FileAccess.Write)。

(4)filestream删除文件扩展阅读:

C# 中的回车换行符 表示

在 C# 中,我们用字符串 "/r/n" 表示回车换行符。

string str = "第一行/r/n第二行";

但是我们更推荐 Environment.NewLine(名称空间为 System),Environment 是类,NewLine 是字符串属性,用于获取当前环境中定义的回车换行符字符串。

string str = "第一行" + Environment.NewLine + "第二行";

在 Windows 环境中,C# 语言 Environment.NewLine == "/r/n" 结果为 true。

Ⅳ C#如何强制删除文件

下面的方法你可以参考一下,希望能解决你的问题:

c# 删除程序占用的文件,清理删除文件,彻底删除文件,解除文件占用

文件打开时,以 共享读写模式 打开

FileStream inputStream = new FileStream(name, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);p.BackgroundImage = new Bitmap(inputStream);inputStream.Dispose();

删除文件参考代码:

Ⅵ C#删除大文件中几个字节的问题

除此之外没有别的办法。还有,你怎么确定删除后是对还是错?不过可以试试BinaryWriter.BaseStream.Positionhttp://stackoverflow.com/questions/14538620/how-to-overwrite-specific-bytes-in-a-binary-file-with-c

Ⅶ 构建FileOutputStream时文件存在会删除文件吗

public FileOutputStream(String name, boolean append) throws FileNotFoundException创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。如上文档,new 的时候加一个true参数则是追加。默认为false。

Ⅷ C#怎么删除文件夹的文件

publicstaticvoidDelectDir(stringsrcPath)

{

try

{

DirectoryInfodir=newDirectoryInfo(srcPath);

FileSystemInfo[]fileinfo=dir.GetFileSystemInfos();//返回目录中所有文件和子目录

foreach(FileSystemInfoiinfileinfo)

{

if(iisDirectoryInfo)//判断是否文件夹

{

DirectoryInfosubdir=newDirectoryInfo(i.FullName);

subdir.Delete(true);//删除子目录和文件

}

else

{

//如果使用了streamreader在删除前必须先关闭流,否则无法删除sr.close();

File.Delete(i.FullName);//删除指定文件

}

}

}

catch(Exceptione)

{

throw;

}

}

(8)filestream删除文件扩展阅读

C#删除指定文件或文件夹

//1、首先判断文件或者文件路径是否存在

if(File.Exists(fileFullPath))

{

//2、根据路径字符串判断是文件还是文件夹

FileAttributesattr=File.GetAttributes(fileFullPath);

//3、根据具体类型进行删除

if(attr==FileAttributes.Directory)

{

//3.1、删除文件夹

Directory.Delete(fileFullPath,true);

}

else

{

//3.2、删除文件

File.Delete(fileFullPath);

}

File.Delete(fileFullPath);

}

Ⅸ C++ 文件流,怎样删除文件中的一部分内容

看你想要删除的内容具有什么特点。比如删除多少字数,或特定内容等等。

Ⅹ 使用File操作后,怎么释放文件,File.close根本就没有

FileStream.Close方法关闭当前文件流并释放与之关联的所有资源(如文件磁盘缓冲区)。注意:创建文件流后,无论是读取还是写入操作,最后必须用Close方法关闭文件流!这样做的目的一方面是释放文件操作所占用的系统资源,另一方面避免文件有出现无法预料的结果。【例1】写文件操作后关闭文件流1234567891011121314151617181920212223using System.Text;using System.IO;namespace ConsoleApplication1{class Program{static void Main(string[] args){// 打开文件流准备写入操作FileStream fs = new FileStream("d:\\data.txt", FileMode.Create, FileAccess.Write);string text = "输入文本文件的信息:你好,世界!";byte[] b = Encoding.Default.GetBytes(text);fs.Write(b, 0, b.Length);// 使得所有缓冲的数据都写入到文件中fs.Flush();// 方法关闭当前文件流fs.Close();}}}【例2】读文件操作后关闭文件流123456789101112131415161718192021222324252627using System;using System.Text;using System.IO;namespace ConsoleApplication1{class Program{static void Main(string[] args){// 打开文件流准备读取操作FileStream fs = new FileStream("d:\\data.txt", FileMode.Open, FileAccess.Read);// 文件读入缓冲区 byte[] buf = new byte[1024];// 读取文件int byteNum = fs.Read(buf, 0, buf.Length);// 关闭文件流!fs.Close();// 显示读取的内容string text = Encoding.Default.GetString(buf, 0, byteNum);Console.WriteLine(text);}}}