क्या .net फ्रेमवर्क में async
अंतर्निहित लाइब्रेरी/असेंबली है जो फ़ाइल सिस्टम (उदा। File.ReadAllBytes
, File.WriteAllBytes
) के साथ काम करने की अनुमति देती है?क्या .NET फ्रेमवर्क फ़ाइल-सिस्टम के साथ काम करने के लिए async विधियां प्रदान करता है?
या मुझे async
StreamReader
और StreamWriter
के तरीके का उपयोग करके अपनी खुद की लाइब्रेरी लिखनी है?
कुछ इस तरह सुंदर अच्छा होगा:
var bytes = await File.ReadAllBytes("my-file.whatever");
यदि फ़ाइल जिसे आप बाइट स्ट्रीम में क्रमबद्ध कर रहे थे, तो बड़ी (3 जीबी +) बड़ी संभावना थी कि स्ट्रीम की लंबाई एक इंट टाइप की तुलना में बड़ी होगी और इसे ओवरफ्लो के लिए कैसा लगा सकता है? – Dave
@ डेव शायद। ऐसे मामलों में आपको शायद भाग में पढ़ने की जरूरत है। – i3arnon
आपको भले ही भाग में पढ़ने के लिए तर्क होना चाहिए। [माइक्रोसॉफ्ट प्रलेखन] के अनुसार (https://docs.microsoft.com/en-us/dotnet/api/system.io.filestream.readasync?view=netframework-4.7.1#System_IO_FileStream_ReadAsync_System_Byte___System_Int32_System_Int32_System_Threading_CancellationToken_), ReadAsync को भरने की गारंटी नहीं है पूरी सरणी आपको यह देखने के लिए रिटर्न वैल्यू की जांच करनी होगी कि यह कितना _actually_ पढ़ा गया है। – Phil