注册 登录
编程论坛 C# 论坛

C# 删除文本指定行或最后一行

bccnzhou 发布于 2022-08-21 19:23, 2841 次点击
            string path = (".\\pa\\1\\PasMessage.dat");
            string[] linesD = File.ReadAllLines(path, Encoding.GetEncoding("GB2312"));
            Array.Resize(ref linesD, linesD.Length - 1);
            File.WriteAllLines(path, linesD, Encoding.GetEncoding("GB2312"));

只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

删除后 还是有个空行。
 请问怎么去掉呢?
5 回复
#2
魔法软糖2022-08-21 21:16
用 for 循环自己一行行处理。


程序代码:
            
string path = (".\\pa\\1\\PasMessage.dat");
string[] linesD = File.ReadAllLines(path, Encoding.GetEncoding("GB2312"));
int count = linesD.Length - 1;
string[] newlines = new string[count];
for (int i = 0; i < count; i++) {
   newlines[i] = linesD[i];
}
File.WriteAllLines(path, newlines, Encoding.GetEncoding("GB2312"));


[此贴子已经被作者于2022-8-23 13:27编辑过]

#3
bccnzhou2022-08-23 10:54
回复 2楼 魔法软糖
i 未定义,如果把最后一行放进FOR   string无法转string[]
不好意思我刚接触c#
#4
魔法软糖2022-08-23 13:26
回复 3楼 bccnzhou
我修改一下,把最后一行的[i]去掉就可以了。
#5
bccnzhou2022-08-24 15:57
回复 4楼 魔法软糖
还是有0D0A 我用其他方法搞定了
一次性读入文件,然后检测一下最后两个字节,然后删除就行
#6
sssooosss2022-09-20 08:38
共同学习
1