我遇到了StreamWriter的问题,我找不到我做错了什么。
String line, new_line;
using (StreamReader sr = new StreamReader(txtFilePath.Text))
{
using (StreamWriter sw = new StreamWriter(txtResultFolder.Text.ToString() + "\\" + "NEW_trimmed_file" + ".csv", true))
{
while ((line = sr.ReadLine()) != null)
{
new_line = line.TrimEnd();
MessageBox.Show(new_line);
sw.WriteLine(new_line);
}
}
}
我使用MessageBox.Show(new_line),只是为了确保我有一个StreamWriter的值来写,但在结果文件中我找不到任何东西。 作为一个附加信息,我有一个文本,每行有很多空格(很多空格),我正在制作另一个文件,其行与第一行相同,但没有空格。 任何提示为什么StreamWriter实际上没有写入目标文件?
非常感谢,
答案 0 :(得分:4)
但是在结果文件中我找不到任何内容
如果您希望StreamWriter
在处理之前立即写入缓冲区,则需要致电Flush()
:
string line, new_line;
using (StreamReader sr = new StreamReader(txtFilePath.Text))
using (StreamWriter sw = new StreamWriter(txtResultFolder.Text.ToString() +
"\\" + "NEW_trimmed_file" + ".csv", true))
{
while ((line = sr.ReadLine()) != null)
{
new_line = line.TrimEnd();
MessageBox.Show(new_line);
sw.WriteLine(new_line);
}
sw.Flush();
}
答案 1 :(得分:0)
从文件读取和写入文件的方式要短得多。只需使用File.ReadAllLines()和File.WriteAllLines()
var content = File.ReadAllLines(txtFilePath.Text)
File.WriteAllLines(txtResultFolder.Text.ToString(), content);
我对txtResultFolder
的命名感到有些困惑。这条路径是文件夹吗?这个TextBox的确切内容是什么?