2013-02-11 73 views
0

在創建文本文件後,它將轉義richtextbox中的「新行」,我將添加告訴我如何在創建帶有大名稱和大量數據的文件時修復該問題。使用c#創建txt文件,但創建文件轉義新行?

using System; 
using System.Collections.Generic; 
using System.Drawing; 
using System.Windows.Forms; 
using System.IO; 

namespace Saver 
{ 
    /// <summary> 
    /// Description of MainForm. 
    /// </summary> 
    public partial class MainForm : Form 
    { 
    string path = ""; 

    public MainForm() 
    { 
     // 
     // The InitializeComponent() call is required for Windows Forms designer    
     // 
     InitializeComponent(); 

     // 
     // TODO: Add constructor code after the InitializeComponent() call. 
     // 
    } 

    void Button1Click(object sender, EventArgs e) 
    { 
     if((textBox1.Text != "")&&(richTextBox1.Text != "")) 
     { 
      if(radioButton1.Checked == true) 
       path = @"C:\Users\M.Waqas\Desktop\Saver\Saver\Files\"; 

      path += textBox1.Text + ".txt"; 

      FileStream fs = new FileStream(path,FileMode.Create); 
      StreamWriter wr = new StreamWriter(fs); 
      wr.Write(richTextBox1.Text); 
      MessageBox.Show("Your file create on :" + "\n" + path); 
      textBox1.Clear(); 
      richTextBox1.Clear(); 
      wr.Close(); 
      fs.Close(); 


     } 
    } 
} 

}

+8

哪個異常和哪條線? – Spontifixus 2013-02-11 17:32:05

+1

我建議將該代碼包裝在Try {} catch {}中,並且該FileStream代碼將圍繞'using()'子句進行包裝,當您調試代碼時...我確信您沒有獲得什麼..?你有什麼錯誤? – MethodMan 2013-02-11 17:36:33

+0

製作大文件名和大內容時會出現異常,我已經完成了它並且工作正常。而基本的問題是我的代碼正在轉義創建文件後在運行時在richtextbox中輸入的新行,並且如果可能的話,您可以在修復完畢後給出正確的代碼嗎? – 2013-02-11 17:39:09

回答

2

有關使用.NET方法,而不是重寫他們怎麼樣?

void Button1Click(object sender, EventArgs e) 
{ 
     try{ 
      if(!string.IsNullOrEmpty(textBox1.Text) && !string.IsNullOrEmpty(richTextBox1.Text)) 
      { 
       if(radioButton1.Checked) 
        path = @"C:\Users\M.Waqas\Desktop\Saver\Saver\Files\"; 

       path = System.IO.Path.Combine(path, textBox1.Text ".txt"); 

       richTextBox1.SaveFile(path); 

      } else 
       MessageBox.Show("No data"); 

     } catch (Exception x){ 
      MessageBox.Show("Error: "+x); 
     } 
} 

注:路徑是從OP複製,SaveFileDialog應該用來代替硬編碼路徑(甚至更糟 - 與用戶相關的硬編碼路徑)。對於單選按鈕未選中的情況,路徑代碼可能不完整。

+0

哇這個答案就像OP的原始發佈一樣混亂我會建議格式化答案,使其更具可讀性 – MethodMan 2013-02-11 18:06:24

+0

@DJKRAZE不錯,我希望編輯更好。 – 2013-02-11 18:55:16

+0

+2好得多Sten Pertrov – MethodMan 2013-02-11 19:17:27