在C#中怎么修改记事本中的内容?比如我想修改记事本中的某一行?

吴青峰 2008-06-25 10:00:12
在C#中怎么修改记事本中的内容?比如我想修改记事本中的某一行?
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
消瘦的锁骨浩 2008-06-26
  • 打赏
  • 举报
回复

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
load();
update();
}
public void load()
{
//向文件中写入数据,并清空以前文件中的数据。
StreamWriter sw = new StreamWriter(Server.MapPath(".") + "\\file.txt");
//向文件中写入数据,不清空以前文件中的数据。
//StreamWriter sw = File.AppendText(Server.MapPath(".") + "\\file.txt");
for (int i = 0; i < 10; i++)
{
sw.WriteLine(i.ToString());
}
////sw.Write("接着写");
sw.Flush();
sw.Close();
}
public void update()
{
//读取
StreamReader sr = new StreamReader(Server.MapPath(".") + "\\file.txt");
ArrayList arrlist = new ArrayList();
string str = "";
Response.Write("修改前<BR>");
do
{
str = sr.ReadLine();
if (str != null)
{
arrlist.Add(str);
Response.Write(str + "<BR>");
}
} while (str != null);
sr.Dispose();
sr.Close();

//修改
Response.Write("修改后<BR>");
for (int i = 0; i < arrlist.Count; i++)
{
if (arrlist[i].ToString()=="5")
{
arrlist[i] = "55";
}
Response.Write(arrlist[i].ToString() + "<BR>");
}
StreamWriter sw = new StreamWriter(Server.MapPath(".") + "\\file.txt");
for (int i = 0; i < arrlist.Count; i++)
{
sw.WriteLine(arrlist[i].ToString());
}
////sw.Write("接着写");
sw.Flush();
sw.Close();


//读取结果表明
StreamReader streamReader = new StreamReader(Server.MapPath(".") + "\\file.txt");
string ss = "";
do
{
ss = streamReader.ReadLine();
if (str != null)
{
Response.Write(ss + "<BR>");
}
} while (ss != null);
streamReader.Dispose();
streamReader.Close();

}
}
tinalucky 2008-06-26
  • 打赏
  • 举报
回复
先读取文本内容,
然后找出你要修改的字符串,
再写入文本
可参考2楼
baihe_591 2008-06-26
  • 打赏
  • 举报
回复
最好读到richtextbox里面,可以让用户修改数据,然后重新创建文件.
DalyQiao 2008-06-26
  • 打赏
  • 举报
回复
要通消息来做了,没弄过,学习.....
277894613 2008-06-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tushadongjing 的回复:]
先讀出來,根據換行符轉換成字符串數組,根據索引修改,再放回去,
好像想不到別的方法了.
[/Quote]
tushadongjing 2008-06-25
  • 打赏
  • 举报
回复
先讀出來,根據換行符轉換成字符串數組,根據索引修改,再放回去,
好像想不到別的方法了.
我姓区不姓区 2008-06-25
  • 打赏
  • 举报
回复

//读取文本 
StreamReader sr = new StreamReader(文本文件的路径);
string str = sr.ReadToEnd();
sr.Close();
//替换文本
string [] result = str.Split("\n".ToCharArray());//数组中一个元素代表一行
result[index]="***";//想改哪行自己决定
//更改保存文本
StreamWriter sw = new StreamWriter(文本文件的路径,false);
foreach(string s in result)
sw.WriteLine(s);
sw.Close();
SuperTyro 2008-06-25
  • 打赏
  • 举报
回复
先把数据按行读出来 放进 arraylist 中
然后 根据索引 找到要修改的行 然后修改
然后 重新写回去
OH yeah 笨法 但是可以实现!

我是小菜鸟! 说的不好清见谅, 希望能够帮到你!

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧