在当前的发展中,我遇到了一个strang问题。
在我硬盘上的一堆书面文件中,我想读出他们的内容并将其写入文本框。接缝非常容易,但不知怎的,我陷入困境:
文件包含以下内容:“<LogItem><Row Number="0"><Column Name="object_id"><Old Value="2317"/><New Value="2317"/>
”
我用以下内容阅读:
textBox1.Text = File.ReadAllText(filetoread);
这个“ReadAllTest”的结果只是第一个Char“&lt;”其他所有未写入文本框的内容。 手动我可以使用普通编辑器读取文件,这会显示完整的文本。
是否有未见过的陷阱或限制?
祝你好运
答案 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()
。
而且,这将有效。