更改.txt或.js某一行的内容

豆丁_ 2009-10-12 02:33:36
有txt文件或者js文件,现在需要C#更改其中某一行的内容,行数未知,求高手解答
...全文
230 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxbd123 2009-10-12
  • 打赏
  • 举报
回复
读取全部 然后 replace 覆盖全部




-----下面的没用------
>>勾引蜘蛛http://www.thewebhappy.com<<
24K純帥 2009-10-12
  • 打赏
  • 举报
回复
streamreader和replace()
UP..
lzsh0622 2009-10-12
  • 打赏
  • 举报
回复
小文件可以用6楼的方法,上GB的大文件可逐行处理

private void button3_Click(object sender, EventArgs e)
{
StreamReader sr = new StreamReader("C:\\ls1.txt", Encoding.Default);
StreamWriter sw = new StreamWriter("C:\\ls2.txt",false,Encoding.Default);
while (true)
{
string str = sr.ReadLine();
if (str == null) break;
else sw.WriteLine(str.Replace("旧值", "新值"));
}
sr.Close();
sw.Close();
}
wuyq11 2009-10-12
  • 打赏
  • 举报
回复
string[] arr=File.ReadAllLine("");
foreach(string s in arr)
{

}
List <string> dataList = new List <string>();
String line;
StreamReader sr = new StreamReader(fileName, Encoding.GetEncoding("gb2312"));
line = sr.ReadLine();
while (line != null)
{
dataList.Add(line);
line = sr.ReadLine();
}
sr.Close();
zcl24 2009-10-12
  • 打赏
  • 举报
回复

public void TestReplace()
{
String js = String.Empty;
using (FileStream fs = new FileStream("a.js", FileMode.Open, FileAccess.Read))
{
StreamReader sr = new StreamReader(fs);
js = sr.ReadToEnd();
sr.Close();
}
js = js.Replace("Old words","New words");
using (FileStream fs = new FileStream("a.js", FileMode.Create, FileAccess.ReadWrite))
{
StreamWriter sw = new StreamWriter(fs);
sw.Write(js);
sw.Close();
}

}
Hide1984 2009-10-12
  • 打赏
  • 举报
回复
1. StreamReader读入文件到String中,用ReadToEnd();
2. 因为行数未知,那么内容总要知道的吧,用string.replace()替换内容
3. StreamWriter重新创建并写这个文件。
十八道胡同 2009-10-12
  • 打赏
  • 举报
回复
streamreader 读取文件,一次读一行,如果该行有要替换的内容,替换即可
替换用replace
lzsh0622 2009-10-12
  • 打赏
  • 举报
回复

private void button1_Click(object sender, EventArgs e)
{
string str = File.ReadAllText("C:\\ls1.txt", Encoding.Default);
str.Replace("张三", "李四"); // 张三 --> 李四
File.WriteAllText("C:\\ls2.txt", str, Encoding.Default);
}
BATTLERxANGE 2009-10-12
  • 打赏
  • 举报
回复
 string st = "aaaaaaaaaa\r\n" +
"bbbbbbbbbbbbbb";
st = st.Replace("aaaaaaaaaa", "A!"); //在这里就将aaaaaaaaaa替换成了A!
Console.WriteLine(st);
豆丁_ 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sohighthesky 的回复:]
流读取文件内容,存入str
str.replace("你的内容","新的内容");
流写入,注意不要用append了
[/Quote]

还是不太懂,能否写个例子,谢谢
sohighthesky 2009-10-12
  • 打赏
  • 举报
回复
流读取文件内容,存入str
str.replace("你的内容","新的内容");
流写入,注意不要用append了
豆丁_ 2009-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sq_zhuyi 的回复:]
是否知道该行内容(或部分内容)?知道内容的话可以直接replace
[/Quote]
是知道该行的部分内容的
如何replace?
路人乙e 2009-10-12
  • 打赏
  • 举报
回复
是否知道该行内容(或部分内容)?知道内容的话可以直接replace
1.linux系统介绍 以windows为内核的操作系统有哪些:win10   win8   win7  xp  系统    windows server 以linux为内核的操作系统有哪些:centos  ubuntu  debian   windows和linux  linux:服务器   安全    稳定 高效    windows:办公  家用  2.安装linux注意事项 对centos系统 的基本使用   有哪些文件夹   对文件/文件夹 进行操作  创建 删除  修改 移动 复制   写入 home 存放所有用户文件的根目录  soft :安装软件 cd  ll mkdir 创建文件  touch 空文件  echo sdsd>a.txt       vi a.txt vi c.txt  打开文件  按下i键  改为写入的模式    写完之后保存: 先按下esc 按键再按下:w 保存 :q退出  :wq    写完之后不想保存 强制退出  esc  :q! 删除文件/文件夹 rm -rf a.txt  b.txt rm -rf soft 复制 如果复制文件 cp  要复制的文件名   复制出来的文件名子    cp  a.txt   a1.txt 如果复制的是文件夹的 cp -r soft/   soft1 展示一个文件中的内容 cat  移动文件  mv  temp1   temp2 重命名 mv  temp1   temp2 查找: find /(查找的路径)  -name   *.txt    b 清屏  clear tab 按键 可以帮助我们把输入的内容补全   3.配置局域网  需要通过ssh软件远程操作linux系统 远程操作centos系统  在windows操作系统中通过一款软件来远程操作虚拟电脑中的centos系统  ssh软件: xshell  secureCRT 第一步在win10系统中下载并且安装ssh软件 secureCRT    第二步:只要知道centos系统所在电脑的公网IP  登录账户和密码      /  win10和centos系统所在的两台电脑在同一个局域网内  局域网IP  登录账户和密码 第三步:centos系统 进行局域网的设置 往网卡中写入一些数据   win10写入的方式:桌面的化操作和centos系统写入的方式是不一样的  ip 网关 子网掩码 NM_conteolle。。。 命令  找到往网卡写入数据的文件    重新启动网络服务 开启22端口   重启防火墙服务 网络桥接网络  *************************端口是否开启  4.配置外网  下载软件1.下载并且安装到系统中 node.js环境   npm install bootstrap   默认的镜像库 centos系统    yum install  服务名     默认的镜像库  2.自己下载服务  wget 服务的网络地址 自己单独安装  比较灵活 安装难度大 windows系统  exe文件 linux       rpm包

110,561

社区成员

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

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

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