2015-10-04 69 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'不需要執行檢查,它會創建路徑中的所有目錄和子目錄:) –