2015-10-04 59 views
-2

我试图从文本框中创建一个目录,并且还保存了与文件名相同的文本框输入的名称。尝试了几种方法,但它只是不知道发现错误。无论我写什么,也许我错过了一些东西。我想知道我错在哪里。 这是唯一的方式,直到我运行它,然后说未知,才显示错误。任何帮助都会很棒。创建目录并保存现有目录中的文本文件,除非需要创建它

private void savePictureBox_Click(object sender, EventArgs e) 

StreamWriter File = new StreamWriter(@"C:\" + modNameTextBox .ToString() + modNameTextBox + ". txt"); 
File.Writer(aboutRichTextBox); 
File.Close(); 
+0

通过使用modNameTextBox.Text而不是.ToString( )。 RichEditor也一样。 –

+0

使用RichTextBox时,可以使用[RichTextBox.SaveFile](https://msdn.microsoft.com/en-us/library/e4a710b1(v = vs.110).aspx),还可以考虑使用[SaveFileDialog](https ://msdn.microsoft.com/en-us/library/system.windows.forms.savefiledialog(v = vs.110).aspx) –

回答

1

这里有一个解决方案,应该让你开始。

string filePath = @"C:\" + modNameTextBox .ToString() + modNameTextBox + ". txt"; 
string folder = Path.GetDirectoryName(filePath); 
if(!Directory.Exists(folder)) 
{ 
    Directory.Create(folder); 
} 
File.WriteAllText(filepath, aboutRichTextBox); 

请注意,您需要为Path,File和Directory添加一些Using语句。 一个合适的解决方案将处理用户不在文本框中输入有效目录的情况,但这可能会有点复杂(我推荐使用SaveFileDialog代替)。

+0

- 而不是某些使用语句,最好是说'System.IO',而不是aboutRichtextBox,你应该说'aboutRichTextBox.Text', - Directory.Create'不需要执行检查,它会创建路径中的所有目录和子目录:) –