Hej,निर्धारित wheteher एंड्रॉयड संपत्ति प्रविष्टि एक फ़ाइल या निर्देशिका
मैं कुछ डेटा एप्लिकेशन जो बाह्य भंडारण पर कॉपी किया जाएगा के साथ बाहर भेज दिया है। यह कुछ सबफ़ोल्डर में घिरा हुआ है और मैं पूरी संरचना की प्रतिलिपि बनाना चाहता हूं।
मुझे /assets
में किसी भी रिसोर्स के लिए फ़ाइल ऑब्जेक्ट प्राप्त करने में कठिनाई हो रही है। लेकिन मुझे लगता है कि मैं उस पर निर्भर हूं क्योंकि मुझे फाइल.इस डायरेक्टरी() की तरह कुछ चाहिए ताकि यह निर्धारित किया जा सके कि मुझे सिस्टम में गहराई से नकल करना या डाइव करना है या नहीं।
मेरा पहला दृष्टिकोण Assets Manager का उपयोग कर रहा था, लेकिन ऐसा लगता है कि कक्षा मुझे आवश्यक जानकारी प्रदान नहीं कर रही है। सबसे अधिक आशाजनक क्यों AssetFileDescriptor
प्राप्त करना था और [FileDescriptor][2]
पर जाना था। हालांकि उनमें से कोई भी isDirectory
-method लगता है।
तो मेरा दूसरा दृष्टिकोण सीधे आगे है: फ़ाइल ऑब्जेक्ट बनाना और खुश रहें। हालांकि ऐसा लगता है कि मैं फ़ाइल ऑब्जेक्ट को उदाहरण के लिए उचित पथ की कमी के इस समस्या में भाग रहा हूं। मुझे file://android_asset
से अवगत है, लेकिन यह file
कन्स्ट्रक्टर के लिए काम नहीं कर रहा है।
मेरा अंतिम विचार इनपुटस्ट्रीम (जिसे मुझे वैसे भी कॉपी करने की आवश्यकता है) का उपयोग करना होगा और किसी भी तरह बाइट को एक महत्वपूर्ण बिट के लिए फ़िल्टर करना होगा जो इस संसाधन को निर्देशिका के रूप में इंगित करता है। यह एक सुंदर हैकी समाधान है और शायद अप्रभावी नरक में सही है लेकिन मुझे इसके चारों ओर जाने का दूसरा तरीका नहीं दिख रहा है।
आप https://stackoverflow.com/a/46827944/2179872 भी देख सकते हैं जो *** AssetManager.list() *** और *** AssetManager.open() *** विधियों दोनों का संयोजन बनाता है – Cosmin