首页 新闻 搜索 专区 学院

如何删除txt文本中的空行

0
悬赏园豆:10 [已解决问题] 解决于 2014-06-22 23:27

比如

aaa

 

bbb

ccc

改为

aaa

bbb

ccc

请给出详细的代码谢谢

yesan的主页 yesan | 初学一级 | 园豆:105
提问于:2011-11-28 19:06
< >
分享
最佳答案
0

再提供一种方法在数据量不是很大的情况下用:

        static void Main(string[] args)
{
string filepath = "D:\\test.txt";
StringBuilder txtValue = new StringBuilder("\n");
using (StreamReader reader = new StreamReader(filepath))
{
string line = "";
while ((line=reader.ReadLine()) != null)
{
if (line.Trim() != "")
{
txtValue.Append("\n"+line);
}
}
txtValue = txtValue.Replace("\n\n", "");
Console.WriteLine(txtValue.ToString());
}
using (FileStream fout = new FileStream(filepath, FileMode.Create, FileAccess.Write))
{
using (StreamWriter brout = new StreamWriter(fout, Encoding.Default))
{
brout.Write(txtValue.ToString().Replace("\n", Environment.NewLine));
brout.Close();
}
}
Console.Read();
}
收获园豆:10
artwl | 专家六级 |园豆:16526 | 2011-11-28 20:00
其他回答(4)
0

System.IO.File.WriteAllLines("H:\\src.txt", from line in System.IO.File.ReadAllLines("H:\\src.txt")
                                                         
where!string.IsNullOrEmpty(line.Trim())
                                                         
select line);

KivenRo | 园豆:1722 (小虾三级) | 2011-11-28 19:33
0

Regex.Replace(str,"\r\n+","\r\n")

waninlezu | 园豆:661 (小虾三级) | 2011-11-28 22:28
1

在向txt文件中输入数据时,用writeline方法,如果是空行就不写入,就行了啊

chenping2008 | 园豆:9836 (大侠五级) | 2011-11-28 22:58
1

@artwl 和 @chenping2008 本质上是相同的,但是@artwl的太耗内存,只适合转换小Txt文本。

推测@chenping2008的思路是边read,边write。

1, ReadLine读入一行时,如果read失败则退出。

2, 如果为空行,返回步骤1;

3, 如果不为空,则把这行输出WriterLine,返回步骤1;

注意:退出前Close关闭当前的对象和基础流。

胡屯 | 园豆:714 (小虾三级) | 2011-11-29 09:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册