Хочу передать файл sound.mp3 на сервер. Есть метод из библиотеки, который принимает на вход аргумент класса File. Пробую так:
File soundFile = new File("//android_asset/sound.mp3");
bool isExists = soundFile.exists();
Не работает - переменная isExists = false.
Судя по en-SO напрямую сделать это невозможно, т.к. файлы в ассетах не хранятся как файлы.
Вам надо делать иначе:
InputStream из файла в ассетах так:AssetManager am = context.getAssets();
InputStream is = am.open("test.mp3");
InputStream)) так:public static void writeBytesToFile(InputStream is, File file) throws IOException{
FileOutputStream fos = null;
try {
byte[] data = new byte[2048];
int nbread = 0;
fos = new FileOutputStream(file);
while((nbread=is.read(data))>-1){
fos.write(data,0,nbread);
}
}
catch (Exception ex) {
logger.error("Exception",ex);
}
finally{
if (fos!=null){
fos.close();
}
}
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости