मैं एक प्रोग्राम बना रहा हूं जो फ़ाइल का चयन करने और हेक्स में फ़ाइल लिखने के बाद फ़ाइल पढ़ता है। समस्या BinaryReader
.Close();
के बाद भी खुली है और जब मैं कोई फ़ाइल लिखने का प्रयास करता हूं तो यह मुझे System.IO.IOException: the process cannot access the file
त्रुटि देता है। मुझे कुछ याद आ रहा है?
संवाद बॉक्स से फ़ाइल का चयन करने के बाद फ़ाइल को पढ़ने वाला कोड यहां दिया गया है ..
BinaryReader br = new BinaryReader(File.OpenRead(sfile.FileName));
string pted = null;
br.BaseStream.Position = 0x12;
pted += br.ReadByte().ToString("X2");
if (pted == "01")
{
}
else
{
}
br.Close();
और यहाँ वह कोड है जो एक बटन क्लिक करने पर फ़ाइल लिखता है
Stream st = File.Open(pathTextBox.Text, FileMode.Open);
st.Seek(0x12, SeekOrigin.Begin);
st.WriteByte(0x00);
st.Close();
3 जवाब
ट्राई कैच स्टेटमेंट में br.close जोड़ें और बंद करने के बाद बाइनरी रीडर का निपटान करें
उदाहरण के लिए:
try{
br.close();
br.dispose();
}
catch(Exception exp)
{
//Assuming you have included using 'namespace System.Diagnostics'
Debug.WriteLine(exp.ToString());
}
आप बाइनरी रीडर यहां पर अधिक पढ़ सकते हैं।
पहले जांचें कि फ़ाइल यहां है या नहीं, फिर इसे using
निर्देश के साथ आज़माएं।
जैसा कि ऑर्गेन ने उल्लेख किया है:
if(File.Exists(@pathTextBox.Text)
{
using(Stream st = File.Open(pathTextBox.Text, FileMode.Open))
{
st.Seek(0x12, SeekOrigin.Begin);
st.WriteByte(0x00);
}
}
उपयोग() डिस्पोजेबल का ख्याल रखेगा।
संबंधित सवाल
नए सवाल
c#
C # (उच्चारण "तेज देखें") Microsoft द्वारा विकसित एक उच्च स्तरीय, सांख्यिकीय रूप से टाइप किया हुआ, बहु-प्रतिमान प्रोग्रामिंग भाषा है। C # कोड आमतौर पर Microsoft के .NET परिवार के टूल और रन-टाइम को लक्षित करता है, जिसमें .NET फ्रेमवर्क, .NET कोर और Xamarin अन्य शामिल हैं। C # या C # के औपचारिक विनिर्देश में लिखे गए कोड के बारे में प्रश्नों के लिए इस टैग का उपयोग करें।