6

पर लिखें, मैं कंसोल का उपयोग कर रहा हूं। मेरे सभी कंसोल लिखने के लिए कंसोल विधि। आउट। एक फ़ाइल में ऑट्राइटलाइन, और यह काम करता है। एकमात्र समस्या यह है कि जब भी मैं कंसोल लिखता हूं, तो यह केवल टेक्स्टफाइल पर सब कुछ लिखता है जब मैं कंसोल लिखता हूं। ऑट। राइटलाइन होता है। इस पर कोई विचार है कि मैं इसे कैसे महसूस कर सकता हूं?Console.SetOut StreamWriter के लिए, टेक्स्टफाइल को लगातार

मैं यह कैसे करता हूं: आवेदन से पहले। Run();

FileStream writerOutput = new FileStream("Logging_Admin.txt", FileMode.Append, FileAccess.Write); 
StreamWriter writer = new StreamWriter(writerOutput); 
Console.SetOut(writer); 

Application.Run के बाद():

writer.Dispose(); 

धन्यवाद।

उत्तर

11

StreamWriter डिफ़ॉल्ट रूप से इसकी सामग्री को बफर करेगा। आप बफर फ्लश करने के लिए चाहते हैं तो आप Flush विधि कॉल करना होगा:

वर्तमान लेखक के लिए सभी बफ़र्स साफ़ करता है और किसी भी बफ़र डेटा अंतर्निहित धारा में लिखा होना चाहिए कारण बनता है।

+0

मैं यह दूसरा ... –

+0

हाँ यह जाने का रास्ता है। आपका बहुत बहुत धन्यवाद! – Fverswijver

1

यदि आप हर बार मैन्युअल रूप से फ्लश नहीं करना चाहते हैं, तो आप अपने लिए यह करने के लिए अपने स्वयं के टेक्स्टवाइटर-व्युत्पन्न वस्तु को लागू करने पर विचार करना चाहेंगे।

11

स्ट्रीमवाइटर में एक ऑटोफ्लश संपत्ति है। जब सत्य पर सेट किया जाता है, तो आपको परिणाम प्राप्त करना चाहिए।

0

बफर को फ्लश करने के लिए, आप लेखक कर सकते हैं। बंद करें();

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