четверг, 12 января 2012 г.

Выгрузка RAW

Иногда требуется выгрузить какой-нибудь файл или картинку на карту памяти или еще куда-нибудь. Android позволяет это сделать! Все что для этого требуется, это создать папку в res в проекте (например raw) и поместить туда необходимый файл. А далее Вы можете использовать, например, мою функцию:

public static void UnloadRawData(Context context, int resource, File to){
if(to.exists()) to.delete();
try {
to.createNewFile();
FileOutputStream fos = new FileOutputStream(to);

InputStream is = context.getResources().openRawResource(resource);
byte[] bufferData = new byte[16384];

int bytesAmount=0;
while((bytesAmount=is.read(bufferData))!=-1){
if(bytesAmount<bufferData.length){
byte[] b = new byte[bytesAmount]; 
CopyBytesArray(bufferData, b);
fos.write(b);
}
else{
fos.write(bufferData); 
}
}
fos.flush();
fos.close();
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}


Я думаю здесь не нужны пояснения. Поясню лишь параметры функции. Второй параметр - это ресурс, который Вы хотите выгрузить. Третий параметр - это файл куда Вы хотите выгрузить этот  ресурс.

Пример использования функции:

public void Example(String path){
   final File rawFile = new File(path);
   UnloadRawData(this, R.raw.yourfile, rawFile);
}

Комментариев нет:

Отправить комментарий