में एक पाठ फ़ाइल की एक विशेष लाइन मैं दो पाठ फ़ाइलें, Source.txt और Target.txt है। स्रोत को कभी भी संशोधित नहीं किया जाएगा और इसमें टेक्स्ट की एन पंक्तियां शामिल होंगी। इसलिए, मैं Target.txt में टेक्स्ट की एक विशिष्ट पंक्ति को हटाना चाहता हूं, और Source.txt से टेक्स्ट की एक विशिष्ट पंक्ति से प्रतिस्थापित करना चाहता हूं, मुझे पता है कि मुझे कितनी लाइन चाहिए, वास्तव में लाइन नंबर 2, दोनों फाइलें हैं। इस तरहसंपादित करें सी #
मैं हेवन कुछ:
string line = string.Empty;
int line_number = 1;
int line_to_edit = 2;
using (StreamReader reader = new StreamReader(@"C:\source.xml"))
{
using (StreamWriter writer = new StreamWriter(@"C:\target.xml"))
{
while ((line = reader.ReadLine()) != null)
{
if (line_number == line_to_edit)
{
writer.WriteLine(line);
}
line_number++;
}
}
}
लेकिन जब मैं लेखक खोलते हैं, तो लक्ष्य फ़ाइल मिट जाते हैं, यह लाइनें लिखते हैं, लेकिन, जब खोला, लक्ष्य फ़ाइल केवल की नकल की रेखाएं हों, बाकी खो जाओ।
मैं क्या कर सकता हूं?
बिल्कुल शानदार जवाब !!!! ... पूरी तरह से यहां काम कर रहे। डॉट नेट 2.0 में चल रहा है ... Unity3d में यह है: ___ फ़ंक्शन लाइन परिवर्तक (नया टेक्स्ट: स्ट्रिंग, फ़ाइल नाम: स्ट्रिंग, line_to_edit: int) { var arrline: स्ट्रिंग [] = फ़ाइल। रीडअललाइन (फ़ाइल नाम); arrline [line_to_edit - 1] = newText; File.WriteAllLines (फ़ाइल नाम, arrline); } –
इसमें 1 समस्या है, यह पूरी फ़ाइल को फिर से लिखता है। –
यह पूरी फ़ाइल को स्मृति में एक बार में लोड करता है। लेकिन यह शायद सबसे आसान तरीका है और अभी भी छोटी फाइलों के साथ प्रयोग योग्य है। –