yılında Dosya almak için, ama benim özel kullanım durumu için bir FileInputStream
lazım. Özellikle FileInputStream
'a gereksinim duymamın nedeni, getChannel()
numaralı telefonu arayarak FileChannel
nesnesini almamdır.nasıl bir <code>InputStream</code> ile <code>res/raw</code> dizinden bir <code>File</code> okumak için <code>AssetManager</code> kullanmayı biliyor FileInputStream varlıkları klasöründe
Bu defa var koddur, bir File
den (benim durumumda ilkel bir listesini) verileri okur:
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;
}
Bir Uri
den File
yaratmaya çalışmışlardır, ama bu sadece bir FileNotFoundException
sonuçları:
Uri uri = Uri.parse("android.resource://com.example.empty/raw/file");
File file = new File(uri.getPath());
FileInputStream fis = new FileInputStream(file);
ben res/raw
dizininde bir FileInputStream
File
bir alabilirsiniz bir yolu var mı?
Ben senin URL varlıklar dizinden eklemek gerekir problem.And olduğunu düşünüyorum. –
Yani tek ihtiyacınız olan dosya içeriğini int dizisi olarak okumak mı? Doğrumuyum? – Ayzen
@Ayzen evet, ama hızlı, yöntem, 80K * 4 bayt okur ve int dizisine benim PC –