मेरे पास यह टेक्स्ट फ़ाइल है जिसमें विभिन्न फ़ील्ड हैं। कुछ फ़ील्ड में बाइनरी डेटा हो सकता है। मुझे फ़ाइल में सभी डेटा प्राप्त करने की आवश्यकता है, लेकिन अभी StreamReader का उपयोग करते समय यह बाइनरी डेटा ब्लॉक और उसके बाद आने वाले डेटा को नहीं पढ़ेगा। इस समस्या को हल करने का सबसे अच्छा समाधान क्या होगा?स्ट्रीम रीडर और बाइनरी डेटा
उदाहरण:
field1|field2|some binary data here|field3
अभी मैं इस तरह फ़ाइल में पढ़ें:
public static string _fileToBuffer(string Filename)
{
if (!File.Exists(Filename)) throw new ArgumentNullException(Filename, "Template file does not exist");
StreamReader reader = new StreamReader(Filename, Encoding.Default, true);
string fileBuffer = reader.ReadToEnd();
reader.Close();
return fileBuffer;
}
संपादित करें: मैं द्विआधारी क्षेत्रों के आरंभ और अंत पदों पता है।
मेरे पास डेटा स्रोत पर कोई नियंत्रण नहीं है इसलिए मुझे इसे किसी भी तरह से निपटना होगा .. – hs2d
@ hs2d: तो क्या होता है * बाइनरी डेटा में ASCII (या जो भी एन्कोडिंग का उपयोग किया जाता है) का प्रतिनिधित्व '|' के लिए होता है? क्या पहले दो क्षेत्रों में कुछ भी है जो आपको अपेक्षित लंबाई बताता है? –
कुछ भी नहीं है जो मुझे अपेक्षित लंबाई बताता है। मेरे दूसरे प्रश्न को देखो। मैं फील्ड सेपरेटर्स प्राप्त करने के लिए टेम्पलेट का उपयोग कर रहा हूं जो एक फ़ील्ड के अंत को चिह्नित करता है: [link] (http://stackoverflow.com/questions/6479505/c-template-parsing-and-matching-with-text-file) – hs2d