Иногда требуется выгрузить какой-нибудь файл или картинку на карту памяти или еще куда-нибудь. 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);
}
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);
}
Комментариев нет:
Отправить комментарий