Может ли кто-нибудь понять, как читать двоичный файл, который находится в sdcard, используя потоки, такие как Inputstream, CountingInputStream или SwappedDataInputStream?
Я использую эти три потока для чтения файла, который в настоящее время находится в Resources folder, но теперь я хочу переместить этот файл в sdcard, но я не могу изменить этот поток, потому что я проделал так много работы над ним, и я не могу откатить свою работу.
Я делаю это таким образом, но это дает мне FileNotFoundException. Мне нужна ваша помощь, пожалуйста.
AssetManager assetManager = getResources().getAssets();
final File folder = new File(Environment.getExternalStorageDirectory() + "/map");
boolean success = false;
if(!folder.exists()){
success = folder.mkdir();
} else {
Log.i("folder already exists", "folder already exists");
}
try {
iStream = assetManager.open(Environment.getExternalStorageDirectory().getAbsolutePath().concat("/map/map.amf"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
cis = new CountingInputStream(iStream);
input = new SwappedDataInputStream(cis);
Большое спасибо за любое предложение.