9

से पढ़ना तो मैं एक पोर्टेबल क्लास लाइब्रेरी लिख रहा हूं जो .NET 4.5, विंडोज 8 और विंडोज फोन 8 को लक्षित करता है। मैं एक टेक्स्ट फ़ाइल से पढ़ने की कोशिश कर रहा हूं जो प्रोजेक्ट का निर्माण सामग्री के रूप में है। मैं देखता हूं कि StreamReader पीसीएल में उपलब्ध है लेकिन मुझे लगता है कि फाइल पथ से फ़ाइल को स्ट्रीम से कैसे प्राप्त किया जा सकता है। अगर कोई मुझे सही संरचनाओं पर इंगित कर सकता है तो मैं इसकी सराहना करता हूं। इसके अलावा यदि आप एक्सएमएल फाइलों के लिए भी दिशा दे सकते हैं। मैं अभी केवल टेक्स्ट फाइलें पढ़ रहा हूं, लेकिन मैं बाद में एक्सएमएल में काम करने जा रहा हूं। धन्यवाद!सी # पीसीएल फ़ाइल

+0

में धाराओं को स्ट्रीम में बदलने के लिए एक अच्छा फिट है, क्या आप StreamReader स्ट्रीम स्ट्रीम कर सकते हैं? तो सवाल सिर्फ "एक फाइल खोलना" है, जो कि ठीक है, नहीं? एक ही सबसे एक्सएमएल एपीआई के लिए ठीक काम करेगा –

+0

मैं एक स्ट्रिंग फ़ाइल पथ है कि है, लेकिन StreamReader एक धारा (जाहिर है) में ले जाता है। मैं पूछ रहा हूं कि, पीसीएल में, क्या आप स्ट्रीम में पथ बदलते हैं। –

+0

यदि यह एंबेडेड संसाधन के लिए अपनी फ़ाइल पर निर्माण कार्रवाई को बदलने के लिए संभव है, आप विधि पहले उत्तर [यहां] में दी गई (http://stackoverflow.com/questions/10963781/how-to-read-a- इस्तेमाल कर सकते हैं संसाधन-फ़ाइल-भीतर-पोर्टेबल-वर्ग-पुस्तकालय)। –

उत्तर

9

पोर्टेबल क्लास लाइब्रेरी आपको उन सभी प्लेटफ़ॉर्मों में मौजूद नामस्थानों और कक्षाओं के साथ काम करने की अनुमति देता है जो आप लक्षित कर रहे हैं।
नेट 4.5 (यह मानते हुए आप पूर्ण डेस्कटॉप WinForms/WPF मतलब), विंडोज 8 और विंडोज फोन 8 सब बहुत अलग ढंग फ़ाइल पहुंच करते हैं और विभिन्न उन्हें फ़ाइलें उपलब्ध हैं। जहां से फ़ाइलों को एक्सेस किया जा सकता है, भी बहुत अलग है: एम्बेडेड सामग्री; एम्बेडेड संसाधन; पृथक भंडारण; सांझे फ़ोल्डर; पूर्ण फ़ाइल सिस्टम। ये सभी आपके द्वारा उल्लेखित सभी प्लेटफॉर्म पर उपलब्ध नहीं हैं।

लघु जवाब। आप शायद वह नहीं कर सकते जो आप कर रहे हैं।

फ़ाइल सिस्टम एक्सेस प्लेटफ़ॉर्म पर नाटकीय रूप से भिन्न होता है और आमतौर पर प्रत्येक प्लेटफ़ॉर्म के लिए अलग-अलग किया जाना चाहिए।
आप क्या कर सकते हैं फ़ाइल एक्सेस (ओपन, रीड, सेव इत्यादि) के लिए एक इंटरफ़ेस परिभाषित किया गया है कि आपका पीसीएल उपयोग कर सकता है और उसके बाद प्लेटफ़ॉर्म विशिष्ट उदाहरणों को बना सकता है जिन्हें आप आवश्यकतानुसार पीसीएल पास करते हैं।

+1

धन्यवाद, मैं इस तरह के एक उच्च स्तर के निर्माण नेट के रूप में यह कोई मुद्दा ही नहीं हो पाता में आशा व्यक्त की। लेकिन मैं पूरी तरह से समझता हूं कि सीमा कहां से आती है। ओह ठीक है, इंटरफेस पर! एक बार फिर धन्यवाद। –

9

मैट सही है।

हालांकि, पीसीएल से फ़ाइलों तक पहुंचने की अनुमति देने के लिए प्लगइन हैं।

मेरे पुस्तकालय, MvvmCross प्रदान करता है एक - https://github.com/slodge/MvvmCross/tree/vnext/Cirrious/Plugins/File

हालांकि ... मैं क्या आप वर्तमान में क्या कर रहे हैं लगता है कि आपका सर्वश्रेष्ठ दांव है के लिए @ dsplaisted के पोर्टेबल फ़ाइल मेमोरी पुस्तकालय - http://nuget.org/packages/pclstorage - - इस Nuget माध्यम से उपलब्ध है इस लिखा है माइक्रोसॉफ्ट से पीसीएल टीम में से एक द्वारा - और यह पीसीएल

+0

एमवीवीएमक्रॉस कमाल है! यह क्रॉस प्लेटफॉर्म को बहुत आसान बनाता है! – Telavian

संबंधित मुद्दे