0

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

在我硬盘上的一堆书面文件中,我想读出它们的内容并将其写入文本框。它看起来很容易,但不知何故我陷入了困境:

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

我读了它们:

textBox1.Text = File.ReadAllText(filetoread);

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

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

此致

4

2 回答 2

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);
于 2013-08-11T15:59:22.680 回答
0

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

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

File.ReadAllText()如您所见,它不使用。而且,这将起作用。

于 2013-08-11T18:05:19.223 回答