में फ़ाइल को पाने के लिए, लेकिन मेरी विशेष उपयोग के मामले के लिए मैं एक FileInputStream
की जरूरत है। मुझे FileInputStream
विशेष रूप से कारण है क्योंकि मुझे getChannel()
पर कॉल करके FileChannel
ऑब्जेक्ट प्राप्त करने की आवश्यकता है।मुझे कैसे पता चलेगा <code>AssetManager</code> उपयोग करने के लिए कैसे एक <code>InputStream</code> साथ <code>res/raw</code> निर्देशिका में से किसी <code>File</code> पढ़ने के लिए FileInputStream संपत्ति फ़ोल्डर
इस कोड को मैं अब तक राशि है, यह डेटा (मेरे मामले में पुरातन की एक सूची) एक File
से पढ़ता है:
public static int[] loadByMappedBuffer(Context context, String filename) throws IOException{
FileInputStream fis = context.openFileInput(filename);
FileChannel ch = fis.getChannel();
MappedByteBuffer mbuff = ch.map(MapMode.READ_ONLY, 0, ch.size());
IntBuffer ibuff = mbuff.asIntBuffer();
int[] array = new int[ibuff.limit()];
ibuff.get(array);
fis.close();
ch.close();
return array;
}
मैं एक Uri
से File
बनाने की कोशिश की थी, लेकिन है कि बस एक FileNotFoundException
में परिणाम:
Uri uri = Uri.parse("android.resource://com.example.empty/raw/file");
File file = new File(uri.getPath());
FileInputStream fis = new FileInputStream(file);
वहाँ एक रास्ता मैं res/raw
निर्देशिका में एक File
को FileInputStream
प्राप्त कर सकते हैं है?
मुझे लगता है कि अपने URL परेशानी आप संपत्ति निर्देशिका से जोड़ना चाहिए है। –
तो आपको केवल सरणी सरणी के रूप में फ़ाइल सामग्री को पढ़ने की आवश्यकता है? क्या मैं सही हूँ? – Ayzen
@ आइज़न हां, लेकिन मुझे इसे तेज, विधि बनाने की ज़रूरत है, मैंने 80 के * 4 बाइट्स पढ़े हैं और इसे अपने पीसी –