मैं एक फाइल लिखना चाहता हूं जहां एक बाहरी एप्लिकेशन इसे पढ़ सके, लेकिन मुझे कुछ पृथक स्टोरेज फायदे भी चाहिए, मूल रूप से अप्रत्याशित अपवादों के खिलाफ बीमा। क्या मुझे मिल सकता है?क्या मुझे एक पृथक स्टोरेज फ़ाइल के लिए पथ मिल सकता है और इसे बाहरी अनुप्रयोगों से पढ़ा जा सकता है?
क्या मुझे एक पृथक स्टोरेज फ़ाइल के लिए पथ मिल सकता है और इसे बाहरी अनुप्रयोगों से पढ़ा जा सकता है?
उत्तर
प्रतिबिंब का उपयोग करके IsolatedStorageFileStream
कक्षा के निजी क्षेत्र तक पहुंचकर आप डिस्क पर एक पृथक संग्रहण फ़ाइल का पथ पुनर्प्राप्त कर सकते हैं। यहां एक उदाहरण दिया गया है:
// Create a file in isolated storage.
IsolatedStorageFile store = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
IsolatedStorageFileStream stream = new IsolatedStorageFileStream("test.txt", FileMode.Create, store);
StreamWriter writer = new StreamWriter(stream);
writer.WriteLine("Hello");
writer.Close();
stream.Close();
// Retrieve the actual path of the file using reflection.
string path = stream.GetType().GetField("m_FullPath", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(stream).ToString();
मुझे यकीन नहीं है कि यह एक अनुशंसित अभ्यास है।
ध्यान रखें कि डिस्क पर स्थान ऑपरेशन सिस्टम के संस्करण पर निर्भर करता है और आपको यह सुनिश्चित करना होगा कि आपके अन्य एप्लिकेशन को उस स्थान तक पहुंचने की अनुमति है।
बजाय एक अस्थायी फ़ाइल बनाने और स्थान पाने की आप की दुकान से सीधे पथ प्राप्त कर सकते हैं:
var path = store.GetType().GetField("m_RootDir", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(store).ToString();
मैं FileStream का नाम संपत्ति का उपयोग करें।
private static string GetAbsolutePath(string filename)
{
IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication();
string absoulutePath = null;
if (isoStore.FileExists(filename))
{
IsolatedStorageFileStream output = new IsolatedStorageFileStream(filename, FileMode.Open, isoStore);
absoulutePath = output.Name;
output.Close();
output = null;
}
return absoulutePath;
}
यह कोड विंडोज फोन 8 एसडीके में परीक्षण किया जाता है।
"डेस्कटॉप" में .Net 4.5 नाम "अज्ञात" है – habakuk
- 1. मुझे MysqlDumpSlow कमांड कहां मिल सकता है?
- 2. क्या मुझे एक सॉकेट.मेकफाइल मिल सकता है जो एक नियमित रूप से पढ़ने के लिए एक ही पढ़ा अर्थशास्त्र है?
- 3. "पैक किया गया पीडीएफ" क्या है, और इसे कैसे पढ़ा जा सकता है?
- 4. क्या मुझे मेमोरी मैप किए गए फ़ाइल के लिए पथ मिल सकता है? (.NET 4.0)
- 5. मुझे बीएफएस द्वारा प्राप्त वास्तविक पथ कैसे मिल सकता है?
- 6. क्लिकऑन और पृथक स्टोरेज
- 7. क्या मुझे रेफरर मिल सकता है?
- 8. मुझे पथ का सही मामला कैसे मिल सकता है?
- 9. क्या मुझे जावास्क्रिप्ट से आईओएस 6 आईडीएफए मिल सकता है?
- 10. क्या मुझे चीनी दिखाने के लिए कंसोल मिल सकता है?
- 11. क्या मुझे छवि फ़ाइल के उरी को इसके नाम से मिल सकता है?
- 12. क्या मुझे इसे प्राथमिकता के बिना प्राथमिकता क्यूई से कोई आइटम मिल सकता है?
- 13. क्या इसे रिकर्सिव कहा जा सकता है?
- 14. क्या मुझे स्ट्रिंग से PTypeInfo मिल सकता है?
- 15. पृथक स्टोरेज त्रुटियां
- 16. मुझे SilverlightUIAutomationHelper.dll कहां मिल सकता है?
- 17. PHP5 डेटाबेस पासवर्ड और इसे चोरी किया जा सकता है?
- 18. मुझे WSDL.exe कहां मिल सकता है?
- 19. क्या मुझे लाइव स्कैला कोड से एएसटी मिल सकता है?
- 20. क्या subdomain.example.com एक कुकी सेट कर सकता है जिसे example.com द्वारा पढ़ा जा सकता है?
- 21. क्या मुझे multiprocessing.Process से वापसी मूल्य मिल सकता है?
- 22. पृथक स्टोरेज में फ़ाइल का नाम बदलें
- 23. क्या मुझे स्रोत से संभाल मिल सकता है?
- 24. मुझे पाइथन के लिए vtk दस्तावेज़ कहां मिल सकता है?
- 25. मुझे System.Numerics.BigInteger के लिए स्रोत कोड कहां मिल सकता है?
- 26. मुझे प्ले फ्रेमवर्क ऐप के लिए पूर्ण पथ कैसे मिल सकता है?
- 27. मुझे GACUtil कहां मिल सकता है?
- 28. सॉकेट (हैंग) से पढ़ा नहीं जा सकता
- 29. मुझे एडोब जार कहां मिल सकता है?
- 30. क्या कोई वेब.कॉन्फिग बाहरी xml फ़ाइल से पढ़ सकता है?
कम से कम सिल्वरलाइट 4 में, में ... प्रकार 'System.FieldAccessException' का एक पहला मौका अपवाद इस प्रतिबिंब परिणाम करने के लिए कोई प्रयास mscorlib.dll अतिरिक्त जानकारी में आई: विधि द्वारा 'प्रयास Comms.MainPage.LayoutRoot_Loaded (System.Object, System.Windows.RoutedEventArgs) 'फ़ील्ड तक पहुंचने के लिए' System.IO.IsolatedStorage.IsolatedStorageFile.m_StorePath 'विफल। साथ ही, यह अब "m_StorePath" है और "m_FullPath" नहीं है - इसका उपयोग करने के लिए और भी अधिक कारण नहीं है। – DJA
@ डीजेए ऐसा इसलिए है क्योंकि सुरक्षा संबंधी चिंताओं के कारण आप सिल्वरटाइट में प्रतिबिंब के साथ निजी सदस्यों को नहीं प्राप्त कर सकते हैं। – ghord