怎样用C#读取TXT文件内容并修改

比如说我现在有一个TXT文件,内容如下:XXX学校XXX班级期末考试成绩————————————————————序号姓名籍贯名次语文英语数学1小明北京19088932小红... 比如说我现在有一个TXT文件,内容如下:
XXX学校
XXX班级
期末考试成绩
————————————————————
序号 姓名 籍贯 名次 语文 英语 数学
1 小明 北京 1 90 88 93
2 小红 南京 2 89 90 90
3 小龙 山东 3 90 87 88
4 小虎 山西 4 87 90 86
……
现在想去掉籍贯和名次,变成如下形式:
XXX学校
XXX班级
期末考试成绩
————————————————————
序号 姓名 语文 英语 数学
1 小明 90 88 93
2 小红 89 90 90
3 小龙 90 87 88
4 小虎 87 90 86
……
修改之后再保存为TXT格式文件
应该怎样做?新手,请高手不吝赐教~
请详细点回答,最好带注释,本人新手。如果生成的格式如下又该怎么处理?
XXX学校
XXX班级
期末考试成绩
————————————————————
序号 姓名 语文 英语 数学
1, 小明,90, 88, 93
2, 小红,89, 90, 90
3, 小龙,90, 87, 88
4, 小虎,87, 90, 86
……
展开
 我来答
做一个快乐的茶农
高粉答主

2019-09-21 · 每个回答都超有意思的
知道答主
回答量:1396
采纳率:100%
帮助的人:33.8万
展开全部

1、首先先来看一下准备的txt文本文件的内容。

2、然后在程序中引入操作文件的命名空间System.IO。

3、接下来需要定义一个变量,存储文件所在的路径。

4、然后我们先读取文本内容,调用File类的ReadAllLines即可读取所有内容。

5、接下来是修改内容,先按照下图的方式,准备要修改的内容。

6、准备好内容以后,调用File的WriteAllLines进行内容的写入,显示操作成功即可。

AA5956
推荐于2017-10-01 · TA获得超过1868个赞
知道小有建树答主
回答量:705
采纳率:72%
帮助的人:468万
展开全部
  1. 先打开该文件

  2. 读取txt文件的数据

  3. 对数据进行操作

  4. 将修改后的数据写入文件中

例如:

string[] str= System.IO.File.ReadAllLines("");
str[3] = "xxxxxx";
System.IO.File.WriteAllLines("", str);    

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vic_zc
推荐于2017-09-16 · TA获得超过235个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:274万
展开全部
class Program
{
public static void Main(string[] args)
{
string filePath = "c:\\test.txt";
List<string[]> list = ReadInfoFromFile(filePath); //这个函数把文件的每一行读入list
foreach (string[] strArray in list)
{
if (strArray.Length < 7)
{
continue;
}
for (int i = 0; i < strArray.Length; i++)
{
if (i == 2 || i == 3)
{
strArray[i] = ""; //把想要去掉的地方换成空串
}
}
}
WriteInfoTofile(filePath, list);
}

/// <summary>
/// 这个函数把文件的每一行读入list
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
private static List<string[]> ReadInfoFromFile(string filePath)
{

if (File.Exists(filePath))
{
List<string[]> list = new List<string[]>();
// 打开文件时 一定要注意编码 也许你的那个文件并不是GBK编码的
using (StreamReader sr = new StreamReader(filePath, Encoding.GetEncoding("GBK")))
{
while (!sr.EndOfStream) //读到结尾退出
{
string temp = sr.ReadLine();
//将每一行拆分,分隔符就是char 数组中的字符
string[] strArray = temp.Split(new char[] { '\t', ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
//将拆分好的string[] 存入list
list.Add(strArray);
}
}
return list;
}
return null;
}

/// <summary>
/// 这个函数把list中的每一行写入文件
/// </summary>
/// <param name="filePath"></param>
/// <param name="list"></param>
private static void WriteInfoTofile(string filePath, List<string[]> list)
{
// 打开文件时 一定要注意编码 也许你的那个文件并不是GBK编码的
using (StreamWriter sw = new StreamWriter(filePath, false, Encoding.GetEncoding("GBK")))
{
//一个string[] 是一行 ,一行中以tab键分隔
foreach (string[] strArray in list)
{
string line = string.Empty;
foreach (string temp in strArray)
{
if (!string.IsNullOrEmpty(temp))
{
line += temp;
line += "\t";
}
}
sw.WriteLine(line);
}
}
}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzkongfu
2011-12-14 · TA获得超过154个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:105万
展开全部
StreamReader objReader = new StreamReader(fi.FullName);
while (!objReader.EndOfStream){
str=objReader.ReadLine();
}

对str做处理,再写回去

StreamWriter wr = new StreamWriter(new FileStream(file, FileMode.Append));

wr.WriteLine(str);

wr.Flush();

wr.Close();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式