【发布时间】:2016-07-10 12:17:24
【问题描述】:
我正在开发一个简单的 FTP 应用程序,它可以读取服务器的服务器清单并下载新文件。为此,我必须阅读目录列表的内容。当文件名和/或子目录名称不包含空格时,FTP ListDirectoryDetails 可以完美运行。但是,如果目录有空格(即名称中的空格),我的读者会抛出 ObjectDisposed 异常。除了下面的方法(其他所有方法调用都在框架中)之外,堆栈跟踪不包含任何用户代码。
我已经用谷歌搜索和搜索了更多,但没有运气解释这个异常。任何帮助将不胜感激!谢谢!
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().Trim()
-
谢谢,但我面临的问题是目录/文件名本身的空格——而不是开头或结尾的空格。因此,例如,server/directory with spaces/file with spaces.csv>
标签: c# ftp async-await streamreader