我目前正在使用streamreader和filestream来读取txt文件并将其转储到列表框中。此文本文件中的每隔一行都包含一个特殊字符,即大括号。例如{或}
我想知道如何跳过将包含“{}”的所有行都读到我的列表框中。但我还是喜欢流式传输文本文件的其余部分。
目前,这是我在我的代码中使用的内容。但显然它仍然在用花括号写出这些线条。任何帮助将不胜感激。
private void ReadUsingStreamReader()
{
char[] chars = { '{', '}' };
string characters = new string(chars);
string FileName = "Path To File";
using (FileStream fs = new FileStream(FileName, FileMode.Open, FileAccess.Read))
{
using (StreamReader sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
{
string line =sr.ReadToEnd();
string[] readText = File.ReadAllLines(FileName);
foreach(string FileText in readText)
{
if (FileText.Contains(characters))
{
//Do nothing
}
else
{
listBox1.Items.Add(FileText);
}
}
}
}
}
好的,我更改了代码,这里似乎工作正常。
private void ReadUsingStreamReader()
{
string FileName = "Path To File";
char[] chars = { '{', '}' };
string characters = new string(chars);
using (StreamReader sr = new StreamReader(FileName))
{
while (!sr.EndOfStream)
{
string line = sr.ReadToEnd();
string[] readText = File.ReadAllLines(FileName);
foreach (string FileText in readText)
{
foreach (char c in characters)
{
if (FileText.Contains(c)) continue;
listBox1.Sorted = true;
listBox1.Items.Add(FileText);
break;
}
}
}
}
}
答案 0 :(得分:0)
您可以分别检查每个角色:
foreach(string FileText in readText)
{
foreach(char c in chars)
if (FileText.Contains(c)) continue;
....
}
另外,我一行一行地从流中读取...
string line = sr.ReadLine();