C#StreamReader读取缺少第一行的文本文件
我的streamReader正在从特定位置读取我的文本文件,但它只读取9行而不是10行,文本文件由10行组成,这里出了什么问题?它省略了第一行,只显示其余的9行 这是我的密码:C#StreamReader读取缺少第一行的文本文件,c#,text-files,streamreader,C#,Text Files,Streamreader,我的streamReader正在从特定位置读取我的文本文件,但它只读取9行而不是10行,文本文件由10行组成,这里出了什么问题?它省略了第一行,只显示其余的9行 这是我的密码: using (StreamReader reader = File.OpenText(Server.MapPath(@daoWordPuzzle.GetfileURL()))) { foreach (var line in reader.ReadLine())
using (StreamReader reader = File.OpenText(Server.MapPath(@daoWordPuzzle.GetfileURL())))
{
foreach (var line in reader.ReadLine())
{
Response.Write(reader.ReadLine() + " <br />");
}
}
使用(StreamReader reader=File.OpenText(Server.MapPath(@daowwordpuzzle.GetfileURL()))
{
foreach(reader.ReadLine()中的变量行)
{
Response.Write(reader.ReadLine()+“
”);
}
}
使用(StreamReader=
File.OpenText(Server.MapPath(@daowrdpuzzle.GetfileURL()))
{
//reader.ReadLine返回一个字符串
//在这里,您将迭代文件的第一行
//这意味着行是一个字符
foreach(reader.ReadLine()中的变量行)
{
Response.Write(reader.ReadLine()+“
”);
}
}
你应该做的是:
using (StreamReader reader =
File.OpenText(Server.MapPath(@daoWordPuzzle.GetfileURL())))
{
string line;
while((line = reader.ReadLine()) != null)
{
Response.Write(line + " <br />");
}
}
使用(StreamReader=
File.OpenText(Server.MapPath(@daowrdpuzzle.GetfileURL()))
{
弦线;
而((line=reader.ReadLine())!=null)
{
响应。写入(行+“
”);
}
}
使用(StreamReader=
File.OpenText(Server.MapPath(@daowrdpuzzle.GetfileURL()))
{
//reader.ReadLine返回一个字符串
//在这里,您将迭代文件的第一行
//这意味着行是一个字符
foreach(reader.ReadLine()中的变量行)
{
Response.Write(reader.ReadLine()+“
”);
}
}
你应该做的是:
using (StreamReader reader =
File.OpenText(Server.MapPath(@daoWordPuzzle.GetfileURL())))
{
string line;
while((line = reader.ReadLine()) != null)
{
Response.Write(line + " <br />");
}
}
使用(StreamReader=
File.OpenText(Server.MapPath(@daowrdpuzzle.GetfileURL()))
{
弦线;
而((line=reader.ReadLine())!=null)
{
响应。写入(行+“
”);
}
}
Spender介绍了循环不起作用的原因,我建议使用更干净的方法。这将在读取线路时将其加载到内存中,因此具有较低的开销
尝试:
string path=Server.MapPath(@daowrdpuzzle.GetfileURL());
foreach(File.ReadLines(路径)中的字符串行)
{
响应。写入(行+“
”);
}
Spender介绍了循环不起作用的原因,我建议使用更干净的方法。这将在读取线路时将其加载到内存中,因此具有较低的开销
尝试:
string path=Server.MapPath(@daowrdpuzzle.GetfileURL());
foreach(File.ReadLines(路径)中的字符串行)
{
响应。写入(行+“
”);
}
您可能想解释一下为什么这样做有效,为什么OP不起作用。与@Spender's相比,我更喜欢这个解决方案,因为它更干净-没有凌乱的while循环和变量赋值。@m.t.bennett我参考了Spender的解决方案,因为我认为它不需要重复。你可能想解释一下为什么它有效,为什么OP不起作用。我比@Spender的解决方案更喜欢这个解决方案,因为它更干净-没有混乱的while循环和变量赋值。@m.t.bennett我参考了Spender的解决方案,因为我认为它不需要重复。
string path = Server.MapPath(@daoWordPuzzle.GetfileURL());
foreach(string line in File.ReadLines(path))
{
Response.Write(line + " <br />");
}