2013-08-11 3 views
0

в текущем развитии. Я застрял в проблеме strang.C# Файл ReadAllText только читает сначала Char

В кучке записанных файлов на моем жестком диске я хочу прочитать их содержимое и записать его в текстовое поле. Это швы очень легко, но как-то я застрял в улове:

Эти файлы, содержащие что-то вроде этого: «<LogItem><Row Number="0"><Column Name="object_id"><Old Value="2317"/><New Value="2317"/>»

Я прочитал их:

textBox1.Text = File.ReadAllText(filetoread); 

Результат этого «ReadAllTest "является только первым Char" < "все остальное, не записанное в текстовое поле. Вручную я могу прочитать файл с обычным редактором, и это показывает полный текст.

Есть ли какие-либо ловушки или ограничения, которых вы не видели?

С наилучшими пожеланиями

+0

Похоже, что вы не видели документацию для начала. Во-вторых, ваше текстовое поле достаточно велико для всего текста. В-третьих, почему текстовое поле, а не богатое текстовое поле. В-четвертых, этот текст выглядит как xml, вы действительно хотите показать xml в текстовом поле? – Sayse

ответ

1

Это может быть проблемой кодирования ... Редкие, но не невозможно ... Попробуйте, по одному за раз:

textBox1.Text = File.ReadAllText(filetoread, Encoding.Unicode); 

textBox1.Text = File.ReadAllText(filetoread, Encoding.BigEndianUnicode); 

textBox1.Text = File.ReadAllText(filetoread, Encoding.UTF32); 

textBox1.Text = File.ReadAllText(filetoread, Encoding.UTF8); 

textBox1.Text = File.ReadAllText(filetoread, Encoding.Default); 
+0

@ user2672560 Какой из них был? Первый? – xanatos

0

Если ответ на Ксанатосом Безразлично» т работы, попробуйте следующее:

using (StreamReader read = new StreamReader(filetoread)) 
{ 
    textBox1.Text = read.ReadToEnd(); 
} 

Он не использует File.ReadAllText(), как вы можете видеть. И это будет работать.

Смежные вопросы