例如chengjiguanli.txt文件中的内容是有序的
001
张三
53
45
002
李四
53
64
003
王五
98
34
004
刘六
83
74
如果要将002 李四 53 64--〉002 李四 77 87(可以对任何一组数据进行更改)通过界面中要更新的新数据由一个button按钮更改并写回原来的chengjiguanli.txt中进行替换,改变后的文件内容变为
001
张三
53
45
002
李四
77
87
003
王五
98
34
004
刘六
83
74
该怎么写代码啊,我想了种种方法也没实现,可能是自己想偏了思路又改不过来了,我现在做一个课程设计就这一个更改模块没做出来了,如果用数据库做我相信很简单,但老师非要用文本文件做,求各位大侠帮帮小弟吧。
界面如下:
编号:------(输入)
姓名:------(输入)
成绩1:------(输入)
成绩2:------(输入) [更新按钮]
求助:C# 对文本文件的数据修改操作(请详细点)
答案:3 悬赏:70
解决时间 2021-02-27 13:15
- 提问者网友:無奈小影
- 2021-02-27 08:44
最佳答案
- 二级知识专家网友:悲观垃圾
- 2021-02-27 09:53
可以给你个思路,但是代码你自己写,毕竟这样才能锻炼你的能力。
首先,可以用一个ListBox用来显示文本内容,将每一组内容放在一行里。
按行循环读出文件内容(可以参照MSDN里的System.IO.StreamReader类的帮助,注意:读汉字时要指定编码集,可以使用Encoding.Default)
(读时可以使用ReadLine()方法)
每四行读出来组合成一组字符,生成一个ListBox的Item。组合时要添加分割符,如\t,以方便你更改时获取字符。
可以使用四个TextBox用来显示你的每一组内容,如:编号、姓名、成绩一、成绩二
给你的ListBox注册SelectedIndexChanged事件,每次选择一个项,就将项目的内容文字分割,分别显示在你四个TextBox里。
你可以在TextBox里修改你的每一组内容。
修改后使用一个“修改按钮”或者直接注册TextBox的TextChanged事件来将四个TextBox的内容组合成一个ListBox的项,替换被选中项的内容。
最后就是保存,循环将你的ListBox的各个项再保存到文本中,保存项时记得将你开始使用的分割符保存时替换成\n(也就是换行符)。
(保存可以参照MSDN中的System.IO.StreamWriter类的说明)
首先,可以用一个ListBox用来显示文本内容,将每一组内容放在一行里。
按行循环读出文件内容(可以参照MSDN里的System.IO.StreamReader类的帮助,注意:读汉字时要指定编码集,可以使用Encoding.Default)
(读时可以使用ReadLine()方法)
每四行读出来组合成一组字符,生成一个ListBox的Item。组合时要添加分割符,如\t,以方便你更改时获取字符。
可以使用四个TextBox用来显示你的每一组内容,如:编号、姓名、成绩一、成绩二
给你的ListBox注册SelectedIndexChanged事件,每次选择一个项,就将项目的内容文字分割,分别显示在你四个TextBox里。
你可以在TextBox里修改你的每一组内容。
修改后使用一个“修改按钮”或者直接注册TextBox的TextChanged事件来将四个TextBox的内容组合成一个ListBox的项,替换被选中项的内容。
最后就是保存,循环将你的ListBox的各个项再保存到文本中,保存项时记得将你开始使用的分割符保存时替换成\n(也就是换行符)。
(保存可以参照MSDN中的System.IO.StreamWriter类的说明)
全部回答
- 1楼网友:一个很哇塞的汉子
- 2021-02-27 11:48
写成XML吧。具体多查下BAIDU GOOGLE 对你以后有帮助的
再看看别人怎么说的。
- 2楼网友:嗷呜我不好爱
- 2021-02-27 11:23
如果你写成文本的格式存数据。那读取出来只能是文本流的,只能以替换的方法来修改。因为文本文件没有节点可供支配。另一个方法就是写成XML。XML文档有专门的节点支持。建议你查查NET对XML的操作类。
这玩意不是你想象的那样难,而且在说了。我就是给你一个完整的代码,又有什么用了。不一定可以符合你的需求。最好的方法就是自己有C#参考大全。那里面大多数常用类全部有说明。
这只是我的建议。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯