Я читаю файл с StreamReader и записываю точную строку в другой файл с помощью StreamWriter. Однако проблема заключается в том, что в полученном файле любое появление символа '|' преобразуется в '?'.Ввод с Streamreader не дает тот же результат в StreamWriter
Это код для инициализации мои потоки:
using (var readFile = new FileStream(path, FileMode.Open, FileAccess.Read))
{
using (var writeFile = new FileStream(@"Modified\" + Path.GetFileName(path), FileMode.Create, FileAccess.Write))
{
using (var sr = new StreamReader(readFile, new ASCIIEncoding()))
{
using (var sw = new StreamWriter(writeFile, new ASCIIEncoding()))
{
//Read line and write it to the writer
}
}
}
}
Может ли это быть проблема с потоками или это скорее проблема с исходным файлом? Исходный файл сам по себе отображается просто в нескольких текстовых редакторах, поэтому он кажется правильным.
Когда вы устанавливаете точки останова, как это выглядит в отладчике? – user1666620
Вы пытались изменить кодировку на UTF8? –
Очевидно, вы не * на самом деле * хотели бы использовать ASCIIEncoding. Если вы не знаете, что такое кодировка текста, то punt для Encoding.Default. Однако вы должны иметь ключ. –