c#文件ReadAllText只读取第一个Char

时间:2013-08-11 15:51:48

标签: c#

在当前的发展中,我遇到了一个strang问题。

在我硬盘上的一堆书面文件中,我想读出他们的内容并将其写入文本框。接缝非常容易,但不知怎的,我陷入困境:

文件包含以下内容:“<LogItem><Row Number="0"><Column Name="object_id"><Old Value="2317"/><New Value="2317"/>

我用以下内容阅读:

textBox1.Text = File.ReadAllText(filetoread);

这个“ReadAllTest”的结果只是第一个Char“&lt;”其他所有未写入文本框的内容。 手动我可以使用普通编辑器读取文件,这会显示完整的文本。

是否有未见过的陷阱或限制?

祝你好运

2 个答案:

答案 0 :(得分:2)

可能成为编码问题......很少但并非不可能......一次尝试一次:

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);

答案 1 :(得分:0)

如果xanatos的答案不起作用,请尝试:

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

如您所见,它不会使用File.ReadAllText()。 而且,这将有效。