Я пытаюсь прочитать файл с внешней SD-карты в android Marshmallow 6.0.1 и хочу преобразовать в байт, но он дает fileNotFoundException , Но мой же код работает на 6.0 и ниже. Мой код выглядит следующим образом:Чтение файла с внешней SD-карты с файломNotFoundException open failed: ENOENT android Marshmallow 6.0.1
private String convertFileToByteArray(File file) { //file path as: /storage/emulated/0/abc.doc
byte[] byteArray = null;
try {
File f=new File(file.toString());
Log.e("File EXISTs: >>",""+f.exists());
//getting error in this line,giving fileNotFoundException
FileInputStream inputStream = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024 * 11];
int bytesRead = 0;
while ((bytesRead = inputStream.read(b)) != -1) {
bos.write(b, 0, bytesRead);
}
byteArray = bos.toByteArray();
Log.e("Byte array", ">" + byteArray);
} catch (IOException e) {
e.printStackTrace();
}
return Base64.encodeToString(byteArray, Base64.NO_WRAP);
}
Может ли кто-нибудь предложить мне, что случилось, я здесь делаю. PS: Я также предоставляю разрешения на выполнение.
Вы должны дать разрешение на применение по коду разрешения для 6.0 –