这个问题与我的另一个问题相关:Write a text file to a sub-folder。
这一次,我有一个程序,它有一个文本文件夹来打开文件,然后从该文件中提取数据。然后我可以通过说保存它来保存它。
private void btnExtract1_Click(object sender, EventArgs e)
{
btnExtract1.Enabled = false;
string path = txtSave1.Text;
string file1;
using (StreamReader reader = new StreamReader(File.OpenRead(txtFile1.Text)))
using (StreamWriter writer = new StreamWriter(path))
{
while ((file1 = reader.ReadLine()) != null)
{
file1 = file1.Replace("\"", string.Empty);
file1 = file1.Substring(0, 8);
line_number1 += 1;
if (line_number1 >= 1)
{
writer.WriteLine(file1);
}
}
}
btnExtract1.Enabled = true;
}
private void btnSave1_Click(object sender, EventArgs e)
{
DialogResult result = savefile1.ShowDialog();
txtSave1.Text = savefile1.FileName;
}
不,它没有保存在该文件夹中。事实上,它打破了:
using (StreamWriter writer = new StreamWriter(path))
出现此错误:
mscorlib.dll中出现'System.IO.DirectoryNotFoundException'类型的第一次机会异常
可能出现什么问题?
答案 0 :(得分:0)
你有没有检查你的路径是怎样的?也许你没有正确地逃离\
,或者你的路径中有一些无效的字符。
答案 1 :(得分:0)
我犯了一个新手的错误,在那里我忘了说要保存为什么文件。
using (StreamWriter writer = new StreamWriter(path))
path
等于用户想要的任何内容 - 在我的情况下,它被设置为C:\temp\
。我没有将SaveFileDialog
设置为保存为默认名称。