我很抱歉提出了无用的问题,但我是一个人:)。
我可以使用Write或WriteLine编写.txt文件,它读取整个TextBox。问题是我读它的时候。我无法使用ReadLine读取它。它将整个文本放在一行上。它必须是读数的问题,因为在NotePad中,我正确地得到了文件。
这种非常奇怪的行为是什么原因,我怎么能改变它? 包含StreamReader的方法
StreamReader streamreader = new StreamReader(openfiledialog.FileName);
textbox.Text = "";
while (!streamreader.EndOfStream)
{
string read_line = streamreader.ReadLine();
textbox.Text += read_line + "\n";
}
streamreader.Close();
包含StreamWriter的方法
StreamWriter streamwriter = new StreamWriter(savefiledialog.FileName);
streamwriter.Write(textbox.Text);
streamwriter.Close();
提前致谢。
更新:ReadToEnd工作
答案 0 :(得分:0)
在没有看到任何代码的情况下,我最好的猜测是你在文本框和文本文件之间使用不同的行分隔符。
我猜你要么需要格式化数据以确保数据获得源的正确分隔符,要么更改文本框的换行符分隔符。
答案 1 :(得分:0)
这里有几种可能性。
通常你会使用ReadToEnd,如果你想在一次运行中获得整个文件的文件,如果你想要1行则需要ReadLine。这里的区别在于文件的编码。 1文本编辑器中的行可能与另一行不同。在显示之前,某些文本编辑器会将文本转换为其他编码,有些则不会。会推荐Notepad ++,因为它会在底部告诉你文件的编码是什么,让你改变编码并保存文件进行测试。
.net基于字符串的UTF-8编码,因此文本编码的差异可能会产生很大的不同。
最好的运气