标题:C# 删除文本指定行或最后一行
只看楼主
bccnzhou
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2022-2-8
结帖率:100%
已结贴  问题点数:20 回复次数:5 
C# 删除文本指定行或最后一行
            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"));


删除后 还是有个空行。
 请问怎么去掉呢?
搜索更多相关主题的帖子: 指定 删除 C# path 一行 
2022-08-21 19:23
魔法软糖
Rank: 2
等 级:论坛游民
帖 子:5
专家分:30
注 册:2022-8-20
得分:0 
用 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编辑过]

2022-08-21 21:16
bccnzhou
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2022-2-8
得分:0 
回复 2楼 魔法软糖
i 未定义,如果把最后一行放进FOR   string无法转string[]
不好意思我刚接触c#
2022-08-23 10:54
魔法软糖
Rank: 2
等 级:论坛游民
帖 子:5
专家分:30
注 册:2022-8-20
得分:20 
回复 3楼 bccnzhou
我修改一下,把最后一行的[i]去掉就可以了。
2022-08-23 13:26
bccnzhou
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2022-2-8
得分:0 
回复 4楼 魔法软糖
还是有0D0A 我用其他方法搞定了
一次性读入文件,然后检测一下最后两个字节,然后删除就行
2022-08-24 15:57
sssooosss
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:3
帖 子:664
专家分:1115
注 册:2019-8-27
得分:0 
共同学习
2022-09-20 08:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509842-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.108696 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved