Streamreader Readline() 抛出异常
Streamreader Readline() throws exception
我有一个与服务器通信的客户端,下面的代码应该在控制台上打印输入的内容 - 这跨越多行。
问题是它显示所有行,然后抛出异常。
我尝试了不同的方法来让它工作,例如 peek()
导致最后一行被截断并抛出相同的异常。
有什么我想念的吗?
using (sr)
{
try
{
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
}
finally
{
sr.Close();
}
}
异常是:System.IO.IOException:无法从传输连接读取数据:连接尝试失败,因为连接方在之后没有正确响应
一段时间,或建立的连接失败,因为连接的主机没有响应。
我在 using (sr)
之前使用了 .ReadTimeout
和 .WriteTimeout
如果没有更多的上下文,这将很难解决。您的问题可能源于:
- 权限:可能无法通过应用程序访问该文件。
- 要读取的文件类型无效。
- 客户端和服务器之间的问题。
有相当多的变量,没有更多的上下文。但是,您可以尝试以下操作:
using(var reader = new StreamReader(...))
{
string line;
while((line = reader.ReadLine()) != null)
Console.WriteLine(line);
}
如果可行,那么 while(!reader.EndOfStream)
将内容逐行转储到您的控制台之间可能是个问题。
如果您提供更多背景信息,希望我们能提供更好的帮助。
重要提示: 我注意到在您声明 StreamReader
的使用中,您实际上并没有指定要读取的文件.这会引发异常,因此您可能还想在示例中实际添加它。
您的原始 IOException
只能生成以下内容之一:
DirectoryNotFoundException
EndOfStreamException
FileNotFoundException
FileLoadException
PathTooLongException
这也应该可以帮助您确定问题。
我有一个与服务器通信的客户端,下面的代码应该在控制台上打印输入的内容 - 这跨越多行。
问题是它显示所有行,然后抛出异常。
我尝试了不同的方法来让它工作,例如 peek()
导致最后一行被截断并抛出相同的异常。
有什么我想念的吗?
using (sr)
{
try
{
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
}
finally
{
sr.Close();
}
}
异常是:System.IO.IOException:无法从传输连接读取数据:连接尝试失败,因为连接方在之后没有正确响应 一段时间,或建立的连接失败,因为连接的主机没有响应。
我在 using (sr)
.ReadTimeout
和 .WriteTimeout
如果没有更多的上下文,这将很难解决。您的问题可能源于:
- 权限:可能无法通过应用程序访问该文件。
- 要读取的文件类型无效。
- 客户端和服务器之间的问题。
有相当多的变量,没有更多的上下文。但是,您可以尝试以下操作:
using(var reader = new StreamReader(...))
{
string line;
while((line = reader.ReadLine()) != null)
Console.WriteLine(line);
}
如果可行,那么 while(!reader.EndOfStream)
将内容逐行转储到您的控制台之间可能是个问题。
如果您提供更多背景信息,希望我们能提供更好的帮助。
重要提示: 我注意到在您声明 StreamReader
的使用中,您实际上并没有指定要读取的文件.这会引发异常,因此您可能还想在示例中实际添加它。
您的原始 IOException
只能生成以下内容之一:
DirectoryNotFoundException
EndOfStreamException
FileNotFoundException
FileLoadException
PathTooLongException
这也应该可以帮助您确定问题。