C#修改txt文件的一个很初级的问题,别扔西红柿啊
我想问一下在C#里操作文件时,是不是文件没法同时打开和修改?而需要打开一个文件a.txt,修改后保存就要保存成b.txt,而不能直接原文件保存?
比如我有一个文件,拿excel来举例吧,我实际要用的:
a.xls文件里第一列全是类似20120102这样的文本
如
20120102 张三 男 后边。。。。。。还有很多列
20120325 李四 女 后边。。。。。。还有很多列
我现在想用程序打开这个a.xls文件,把20120102改成2012-01-02的形式,再原文件保存。
求C#代码(操作excel困难的话,拿txt举例也行)!难道一定要保存成b.xls才行?
------解决方案--------------------如果你的文件被占用,当然其他地方不能保存了,你可以将文件读到数据流中,然后关闭文件,只在流里操作,这样不影响其他地方打开文件
------解决方案--------------------
用数据库的办法,把excel当作数据库,用update搞定楼主问题!
另,同求楼主用文件流问的办法,
因为如果excel有一个合并单元格,我这办法就不行了。
------解决方案--------------------
文本的修改,用using
C# code
String ReadTxt;
string TxtFilePath = @"C:\3.txt";
void fun()
{
using (StreamReader sr = new StreamReader(TxtFilePath))
{
ReadTxt = sr.ReadToEnd();
}
string FileRead = ReadTxt.Replace("122", "10");
using (StreamWriter sw = new StreamWriter(TxtFilePath))
{
sw.Write(FileRead);
}
}