StreamWriter, StreamReader, где и как указать кодировку - C#
Формулировка задачи:
В C# как известно все символы кодируются 2-мя байтами - следовательно есть определенные проблемы при записи и чтения файлов в стандартовской не юникодовской кодировки, а еще и в досовской. Проблему я решил использовав откорректируйте код чтобы мог читать и писать в стандартном формате без юникода.
File.ReadAllBytes()
иFile.WrileAllBytes()
и использованием классаEncoding
. Как обходится с такой проблемой при использованииStreamReader
иStreamWriter
. Где указывать и как указывать кодировку.void SaveToFile(string fileName, string textToSave)
{
using (StreamWriter sw = new StreamWriter(fileName))
{
sw.Write(textToSave);
}
}
void ReadFromFile(string fileName, out string textFromFile)
{
using (StreamReader sr = new StreamReader(fileName))
{
textFromFile = sr.ReadToEnd();
}
}Решение задачи: «StreamWriter, StreamReader, где и как указать кодировку»
textual
Листинг программы
void SaveToFile(string fileName, string textToSave)
{
using (StreamWriter sw = new StreamWriter(fileName, System.Text.Encoding.Default))
{
sw.Write(textToSave);
}
}
void ReadFromFile(string fileName, out string textFromFile)
{
using (StreamReader sr = new StreamReader(fileName, System.Text.Encoding.Default))
{
textFromFile = sr.ReadToEnd();
}
}