2008-10-23 12 views
8

यह एक विनफॉर्म एप्लिकेशन है।SaveFileDialog का उपयोग कर स्ट्रिंगबिल्डर की सामग्री को टेक्स्ट फ़ाइल में कैसे सहेजना है?

विंडोज़ में, मैं चाहता हूं कि उपयोगकर्ता क्लिक करें और बटन पर क्लिक करें, और फिर पॉपअप को उपयोगकर्ता को उस फ़ाइल का चयन करना चाहिए जहां वे फ़ाइल को सहेजना चाहते हैं।

उत्तर

1

StringBuilder.ToString() फ़ाइल बनाने के बाद TextStream.Write() विधि पर पारित किया जा सकता है।

SaveFileDialog class का उपयोग करके, आप उपयोगकर्ता को पथ और फ़ाइल नाम का चयन कर सकते हैं - एक मानक तरीके से। doc में विस्तृत उदाहरण।

+0

OpenFileDialog होगा, डिफ़ॉल्ट रूप से, फ़ाइल मौजूद करने की आवश्यकता है। SaveFileDialog क्लास जाने का रास्ता है। –

+0

सहेजी जाने वाली फ़ाइल की सामग्री स्ट्रिंगबिल्डर –

31

आप WriteAllText फ़ंक्शन चाहते हैं।

using (SaveFileDialog dialog = new SaveFileDialog()) { 
    if (dialog.ShowDialog(this) == DialogResult.OK) { 
     File.WriteAllText(dialog.FileName, yourStringBuilder.ToString()); 
    } 
} 
1

StringBuilder.ToString() आपको स्ट्रिंग मिलेगा।

This link आपको दिखाएगा कि फ़ाइल में टेक्स्ट कैसे लिखना है।

This link आपको दिखाएगा कि SaveFileDialog को कैसे कॉल करें और सहेजने के लिए एक स्ट्रीम पास करें।

उम्मीद है कि मदद करता है।

4

नहीं रह गया है के बारे में सोचो ...

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace WindowsFormsApplication2 { 
public partial class Form1 : Form { 

    StringBuilder sb = new StringBuilder(); 

    public Form1() { 
     InitializeComponent(); 

     sb.Append("This is going "); 
     sb.Append("to be saved to a text file"); 
    } 

    private void button1_Click(object sender, EventArgs e) { 
     using (SaveFileDialog dlg = new SaveFileDialog()) { 
      if (dlg.ShowDialog() == DialogResult.OK) { 
       string fileName = dlg.FileName; 
       SaveToFile(fileName); 
      } 
     } 
    } 

    private void SaveToFile(string fileName) { 
     System.IO.TextWriter w = new System.IO.StreamWriter(fileName); 
     w.Write(sb.ToString()); 
     w.Flush(); 
     w.Close(); 
    } 
} 
+0

में है क्यों स्ट्रीमवाइटर्स के साथ गड़बड़ है जब आपके लिए ऐसा करने के लिए एक अंतर्निहित फ़ंक्शन है? –

+1

अरे, बहुत अच्छा ... मैंने उस समारोह को नहीं देखा है। मैंने आज कुछ नया सीखा है: डी – sbeskur

संबंधित मुद्दे

 संबंधित मुद्दे