我有文本文件并使用流读取器读取它,当我的文件与数据一起有空行时,它不会读取任何内容。如何使用C#删除空行。如何使用C#读取文本文件时删除空行
回答
那么,你应该在循环使用的方法“的ReadLine()”从StreamReader的。当您收到一个空行时,只需检查从ReadLine()获得的字符串是否为空。如果是,请忽略该行。 试着这么做:
StreamReader input = new StreamReader("...");
String line = null;
do
{
line = input.ReadLine();
if (line == null)
{
return;
}
if (line == String.Empty)
{
continue;
}
// Here you process the non-empty line
} while (true);
可以缩短ifs为'if(string.IsNullOrWhiteSpace(line))'等等... – dtsg
谢谢你,它的工作.... – user1285783
需要“null”检查以允许退出循环。另一方面,空字符串检查仅显示一条空行,并不是退出循环的原因。因此,这两个条件不能通过“if(string.IsNullOrWhiteSpace(line))” –
您还没有表现出任何代码,你的描述是相当长毛,但随着.NET 4中,这将是一个非常简单的方法做你想要什么:
IEnumerable<string> lines = File.ReadLines().Where(line => line != "");
注意,它赢得了” t执行任何修剪,因此只有空格的行仍然会被返回。
还要注意,上面代码不读取文件时,你只是执行该行 - 当您尝试遍历lines
只会读它,并会再次读它每一次迭代lines
。如果你想将它读入内存中的所有一气呵成,你可能想:
List<string> lines = File.ReadLines().Where(line => line != "").ToList();
下面是代码
private void ReadFile()
{
try
{
string line = null;
System.IO.TextReader readFile = new StreamReader("C:\\csharp.net-informations.txt");
while (true)
{
line = readFile.ReadLine();
if (line != null)
{
MessageBox.Show (line);
}
}
readFile.Close();
readFile = null;
}
catch (IOException ex)
{
MessageBox.Show(ex.ToString());
}
}
这些代码将永久循环连接在一起,在readline抛出时不会关闭文件,也不会过滤空行。 Btw null的readFile变量在垃圾收集时间是多余的 – Firo
- 1. Scala:如何从文件中读取文本时删除空行
- 2. 如何在阅读文本文件时删除多个空格
- 3. 删除文本文件中的空格并阅读文本C#
- 4. C#如何使用流读取器读取文本文件时跳过行数?
- 5. 如何从C++文本文件中删除空行?
- 6. 如何从C#中的文本文件中删除空行#
- 7. 如何同时读取和删除文件中的内容C
- 8. 阅读cfd /文件和删除空行
- 9. 每次脚本运行时从文本文件读取行并删除它们
- 10. 使用phpExcel读取文件时删除隐藏行吗?
- 11. 使用C++读取文本文件
- 12. 如何在读取Ruby中的文件时删除换行符
- 13. 如何从c中的文本文件读取多行文件#
- 14. C++删除文件中的文本行
- 15. 如何使用php从文本文件中删除一行而不留空行
- 16. 从C++文件读取时,如何跳过空行?
- 17. 删除文本文件中的空行使用PowerShell
- 18. 使用VBA从文本文件中删除空白行
- 19. c#删除文本框中的行,并删除空白行
- 20. C++从文本文件读取双行
- 21. 从文本文件逐行读取C++
- 22. C#实时读取文本文件
- 23. 如何从c/C++中的文本文件读取一行?
- 24. 删除JTable行读取文件记录
- 25. 从文本文件中删除空行c#
- 26. 如何逐行读取文本文件?
- 27. 如何逐行读取文本文件?
- 28. 在删除文本文件中的行后删除空白VB6
- 29. 如何从R中的文本文件中删除空行?
- 30. 如何从文本文件中删除空白行? vb.net?
你能给一个例子吗?还有一些代码? – Tudor
你是如何看书的? – dtsg