Я загружаю TextFiles с FTP-сервера с помощью этого кода (каталогов содержит список файлов/каталогов с FTP-сервера):FTP загрузки преобразует CrLf Л.Ф.
for (int i = 0; i <= directories.Count - 1; i++)
{
int bytesRead = 0;
byte[] buffer = new byte[2048];
string trnsfrpth = f.getConfig("TempPath") + @"/" + directories[i].ToString();
if (directories[i].Contains(".") && !(directories[i].ToString().Equals(".") || directories[i].ToString().Equals("..")))
{
FtpWebRequest fileFtpRequest = (FtpWebRequest)WebRequest.Create(f.getConfig("FTP") + @"/" + directories[i].ToString());
fileFtpRequest.UseBinary = true;
fileFtpRequest.Credentials = credentials;
fileFtpRequest.Method = WebRequestMethods.Ftp.DownloadFile;
Stream fileResponse = fileFtpRequest.GetResponse().GetResponseStream();
FileStream fileStream = new FileStream(trnsfrpth, FileMode.Create);
while (true)
{
bytesRead = fileResponse.Read(buffer, 0, buffer.Length);
if (bytesRead == 0)
break;
fileStream.Write(buffer, 0, bytesRead);
}
fileStream.Close();
}
Файлы, которые я получаю все есть LF как символ разрыва строки. Я не уверен на 100%, что файлы имеют прерывание линии CR LF для начала. Но если я загружаю их через FileZilla, они используют CR LF. Мне нужна CR-версия файла LF. Я хотел спросить, что я делаю что-то неправильно здесь, или если этот код в порядке, и FileZilla автоматически преобразует файлы при загрузке, и мне нужно заменить LF вручную.
'UseBinary = false;' сделал это. Все, кого я попросил, сказали мне, что я должен установить его в истинное положение и что мне придется искать где-то в другом месте. - Спасибо за быстрый ответ! – FNR