दिलचस्प पोस्ट
एंड्रॉइड इम्यूलेटर पर गूगल मैप आवेदन चलाना जावास्क्रिप्ट दिनांक ऑब्जेक्ट को टिक्सेस में कन्वर्ट करने के लिए कैसे करें जांच कैसे करें कि सूची में सभी आइटम दूसरी सूची में हैं? पॉलीमॉर्फिज़्म बिना संकेत / संदर्भ के काम क्यों करता है? मैं एक बास उर्फ ​​कैसे बना सकता हूं? ऑनलाइन / ऑफलाइन विकल्प क्यों डालते हैं? jQuery UI संवाद OnBeforeUnload लापता तिथियों / बार के लिए पंक्तियों को सम्मिलित करें सी # में ब्योरा स्विच करें? मोबाइल रीडायरेक्ट htaccess का उपयोग कर कैसे UIActivityViewController से नोट्स और अनुस्मारक एप्लिकेशन को बाहर करने के लिए? एकल तालिका उत्तराधिकार और यह रेल में उपयोग करने के लिए मेरे आवेदन से मानक Google मानचित्र आवेदन कैसे खोल सकता है? Jquery में json डेटा के साथ एक ड्रॉपडाउन सूची को कैसे पॉप्युलेट करना है? पायथन के जरिए एक html निर्देशिका सूची कैसे उत्पन्न करें

एंड्रॉइड में एक फ़ाइल बनाने की कोशिश कर रहा है: ओपन विफल: ईआरओएफएस (केवल-पढ़ने के लिए फ़ाइल सिस्टम)

यह रेखा:

final FileOutputStream outputStream = new FileOutputStream(name); 

जिसके परिणामस्वरूप संदेश के साथ FileNotFoundException में परिणाम /2ozjfFQzwv: open failed: EROFS (Read-only file system) जहां "2ozjfFQzwv" है जो मैंने फ़ाइल के नाम के रूप में पारित किया है।

मैंने इसे WRITE_INTERNAL_STORAGE अनुमति के बिना और बिना कोशिश की है। मैं इस फाइल को लिखने के लिए कैसे बनाऊं?

वैकल्पिक रूप से, मैं सिर्फ एक नई गतिविधि के लिए एक छवि देने में सक्षम होना चाहता हूँ, और इसे अतिरिक्त में क्रमबद्ध करने के लिए बहुत बड़ा है क्या फाइल को लिखे जाने से इसे फिर से पढ़ना एक आसान तरीका है? यहां पर सभी प्रश्न एसडी कार्ड को लिखने के बारे में हैं, जो मैं नहीं करना चाहता क्योंकि बहुत से लोगों के पास एसडी कार्ड स्लॉट नहीं है

Solutions Collecting From Web of "एंड्रॉइड में एक फ़ाइल बनाने की कोशिश कर रहा है: ओपन विफल: ईआरओएफएस (केवल-पढ़ने के लिए फ़ाइल सिस्टम)"

मैंने इसे WRITE_INTERNAL_STORAGE अनुमति के बिना और बिना कोशिश की है।

WRITE_INTERNAL_STORAGE में कोई WRITE_INTERNAL_STORAGE अनुमति नहीं है

मैं इस फाइल को लिखने के लिए कैसे बनाऊं?

आप रूट डिवाइस पर संभवत: को छोड़कर नहीं करते हैं, अगर आपका ऐप सुपरयुजर विशेषाधिकारों के साथ चल रहा है। आप आंतरिक संग्रहण की जड़ में लिखने का प्रयास कर रहे हैं, जिसमें ऐप्स को एक्सेस नहीं है।

कृपया FileOutputStream कन्स्ट्रक्टर के संस्करण का उपयोग करें जो एक File ऑब्जेक्ट लेता है। उस File ऑब्जेक्ट को कुछ स्थान के आधार पर बनाएँ जिसे आप लिख सकते हैं, जैसे:

  • getFilesDir() (आपकी Activity या अन्य Context कहा जाता है)
  • getExternalFilesDir() (आपकी Activity या अन्य Context कहा जाता है)

बाद में अनुमति के रूप में WRITE_EXTERNAL_STORAGE आवश्यकता होगी।

क्या फाइल को लिखे जाने से इसे फिर से पढ़ना एक आसान तरीका है?

आप अस्थायी रूप से इसे एक स्थिर डेटा सदस्य में डाल सकते हैं।

क्योंकि बहुत से लोगों में एसडी कार्ड स्लॉट नहीं है

"एसडी कार्ड स्लॉट्स" अप्रासंगिक, द्वारा और बड़े हैं 99% Android डिवाइस उपयोगकर्ताओं के पास बाह्य भंडारण होगा – अपवाद 4+ वर्षीय डिवाइस होंगे जहां उपयोगकर्ता ने अपना एसडी कार्ड हटा दिया। 2010 के मध्य से निर्मित उपकरणों में ऑन-बोर्ड फ्लैश के हिस्से के रूप में बाह्य भंडारण है, हटाए जाने योग्य मीडिया के रूप में नहीं।

WRITE_EXTERNAL_STORAGE की अनुमति का उपयोग करने का प्रयास करें आपको इसका उपयोग करना चाहिए कि क्या कोई बाहरी कार्ड है या नहीं

यह मेरे लिए अच्छी तरह से काम करता है:

 path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_MOVIES); File file = new File(path, "/" + fname); 

और मेरी फ़ाइलों को उचित फ़ोल्डर में रखता है

जोड़ा जा रहा है

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 

मैनिफेस्ट में और मार्टिन के समान प्रयोग:

 path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES); File file = new File(path, "/" + fname); 

इसने काम कर दिया।

यहां एंड्रॉइड डेवलपर से सरल नमूना है

असल में, आप इस तरह आंतरिक मेमोरी में एक फाइल लिख सकते हैं:

 String FILENAME = "hello_file"; String string = "hello world!"; FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); fos.write(string.getBytes()); fos.close(); 

जैसा कि अन्य लोगों ने उल्लेख किया है, एंड्रॉइड पर ऐप किसी भी फ़ोल्डर को आंतरिक स्टोरेज में नहीं लिख सकता है, लेकिन उनका निजी संग्रहण (जो / डेटा / डाटा / PACKAGE_NAME के ​​अंतर्गत है)।

आपको अपने ऐप के लिए उचित पथ प्राप्त करने के लिए API का उपयोग करना चाहिए।

इसे पढ़ें

Google ने बाह्य एसडीकार्ड तक लेखन एक्सेस प्रतिबंधित कर दी है एपीआई 1 से एक ढाँचा है जिसे स्टोरेज एक्सेस फ्रेमवर्क कहा जाता है जो आपको लिखने की अनुमति देने के लिए "कॉन्ट्रैक्ट्स" सेट अप करता है।

अधिक जानकारी के लिए:

एंड्रॉइड – बाहरी एसडी कार्ड में फ़ाइलों की प्रतिलिपि बनाने के लिए नए स्टोरेज एक्सेस फ्रेमवर्क का उपयोग कैसे करें