سورس کپی فایل از فولدر raw به حافظه خارجی در اندروید

سورس کپی فایل از فولدر raw به حافظه خارجی در اندروید

سورس کد

سورس کپی فایل از فولدر raw به حافظه خارجی در اندروید

Copy From Raw To External Stronge

فرض کنید که یک فایل دلخواه حالا هر نوع فایلی را درون پوشه raw از
پروژه اندرویدمان داشته باشیم
و بخواهیم  اون را به درون پوشه ای درون حافظه خارجی External Storage کپی کنیم.
باید چیکار کنیم خب خیلی ساده با استفاده از کد زیر این کارو میشه کرد
مثلا من در کد زیر یه فایل زیپ یا فشرده به اسم mammutsoft.zip رو در فولدری
به نام ماموت سافت در حافظه خارجی کپی میکنم

File root = android.os.Environment.getExternalStorageDirectory();
String folderName = "/ماموت سافت";
File dir = new File (root.getAbsolutePath() + folderName);
if(!dir.exists()) {
dir.mkdirs(); // build directory
}</pre>
<p style="direction: ltr;">int len;</p>

<pre>
InputStream in = getResources().openRawResource(R.raw.mammutsoft);
String filename = "mammutsoft.zip";
File f = new File(root + folderName , filename);
if(!f.exists()){
try {
OutputStream out = new FileOutputStream(f);
byte[] buffer = new byte[1024];
while((len = in.read(buffer, 0, buffer.length)) != -1){
out.write(buffer, 0, len);
}
in.close();
out.close();
} catch (FileNotFoundException e) {
//
} catch (IOException e) {
//
}
}

خب اگه الان اجرا کنید کار نمیکنه چون کد قراره یه فایل رو تو حافظه
کپی کنه باید مجوزشم داشته باشه
خب باید به پروژتون که عمل کپی رو قراره انجام بده دو مجوز زیر رو اضافه کنید

پس فایل AndroidManifest.xml برنامتون رو باز کنید و دومجوز زیر رو بهش اضافه کنید

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />>

مجوز اول همونطور که از اخرش پیداستWRITE_EXTERNAL_STORAGE نوشتن در حافظه خارجی
مجوز نوشتن درحافظه خارجی رو به برنامه میده از جمله ساخت پوشه کپی فایل
و مجوز دوم READ_EXTERNAL_STORAGE خوندن حافظه خارجی
مجوز خوندن محتوای حافظه رو به برنامه میده

ماموت سافت

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *