पर खाली स्ट्रिंग देता है मुझे पता है कि इस सवाल को स्टैक ओवरफ्लो से पहले पूछा गया है, लेकिन स्पष्टीकरण नहीं मिला।StreamReader ReadToEnd() पहले प्रयास
जब मैं एक संपीड़ित बाइट सरणी से स्ट्रिंग को पढ़ने का प्रयास करता हूं तो मुझे पहले प्रयास पर एक खाली स्ट्रिंग मिलती है, दूसरी बार मैंने सफलता प्राप्त की और स्ट्रिंग प्राप्त की।
कोड उदाहरण:
public static string Decompress(byte[] gzBuffer)
{
if (gzBuffer == null)
return null;
using (var ms = new MemoryStream(gzBuffer))
{
using (var decompress = new GZipStream(ms, CompressionMode.Decompress))
{
using (var sr = new StreamReader(decompress, Encoding.UTF8))
{
string ret = sr.ReadToEnd();
// this is the extra check that is needed !?
if (ret == "")
ret = sr.ReadToEnd();
return ret;
}
}
}
}
सभी सुझाव की सराहना की कर रहे हैं। - विक्टर Cassel
मुझे नहीं लगता कि आपको चेक की आवश्यकता है, यह अनावश्यक दिखता है। – Nick