我正在一个简单的FTP应用程序读取服务器的服务器清单,并拉下新的文件。为了做到这一点,我必须阅读目录列表中的内容。当文件名和/或子目录名称不包含空格时,FTP ListDirectoryDetails完美地工作。但是,如果目录有空白(即名称中的空格),我的读者会抛出一个ObjectDisposed异常。除了下面的方法(框架中其他方法调用的所有内容)之外,堆栈跟踪不包含用户代码。StreamReader抛出ObjectDisposed异常时读取FTP DirectoryList与空间
我已经谷歌搜索和谷歌搜索一些更多的运气没有解释这个例外。任何援助将不胜感激!谢谢!
public async Task<List<string>> ListDirectoryDetailsAsync()
{
var list = new List<string>();
var request = CreateRequest(WebRequestMethods.Ftp.ListDirectoryDetails);
using (var response = (FtpWebResponse)await request.GetResponseAsync())
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
{
while (!reader.EndOfStream)
{
list.Add(reader.ReadLine());
}
}
return list;
}
尝试:reader.ReadLine()。修剪() – jdweng
谢谢,但我面临的问题是在目录/文件名称本身的空白 - 而不是在开始或结束的空白空间。因此,例如, –
CMorton9249