Farzad Sarseifi 575 ارسال شده در ۱۶ تیر ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۶ تیر ۱۳۹۳ در این آموزش نحوه zip و unzip کردن پوشه ها در حافظه sdcard انجام میشود 1) ابتدا Permission های زیر را در فایل Manifest اعمال کنید: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 2) تابع زیر را برای zip کردن قرار دهید: public void zip(String[] _files, String zipFileName) { try { BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream(zipFileName); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream( dest)); byte data[] = new byte[bUFFER]; for (int i = 0; i < _files.length; i++) { Log.v("Compress", "Adding: " + _files); FileInputStream fi = new FileInputStream(_files); origin = new BufferedInputStream(fi, BUFFER); ZipEntry entry = new ZipEntry(_files.substring(_files.lastIndexOf("/") + 1)); out.putNextEntry(entry); int count; while ((count = origin.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } origin.close(); } out.close(); } catch (Exception e) { e.printStackTrace(); } } 3) از فشرده خارج کردن فایل zip : public void unzip(String _zipFile, String _targetLocation) { //create target location folder if not exist dirChecker(_targetLocatioan); try { FileInputStream fin = new FileInputStream(_zipFile); ZipInputStream zin = new ZipInputStream(fin); ZipEntry ze = null; while ((ze = zin.getNextEntry()) != null) { //create dir if required while unzipping if (ze.isDirectory()) { dirChecker(ze.getName()); } else { FileOutputStream fout = new FileOutputStream(_targetLocation + ze.getName()); for (int c = zin.read(); c != -1; c = zin.read()) { fout.write©; } zin.closeEntry(); fout.close(); } } zin.close(); } catch (Exception e) { System.out.println(e); } } نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
amin-rz 0 ارسال شده در ۱۲ شهریور ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۱۲ شهریور ۱۳۹۳ الان من دو سه تا فایل و پوشه کنار هم تو حافظه خارجی دارم (که البته پوشه ها هم فایل داخلشونه.) مثل اینها: [shcode=java] final File root = android.os.Environment.getExternalStorageDirectory(); root.getAbsolutePath() + "/folder1" root.getAbsolutePath() + "/folder2" root + "/about.png" root + "/folder1/pic.png" [/shcode] چطور با این کد zipشون کنم؟ دقیقا با همین پوشه بندی که تو حافظه خارجی هستن بیوفتن تو zip هر تغییری میدم با اینکه اکلیپس ارور نمیده ولی فایل zip ساخته نمیشه. پرمیشن ها رو هم اضافه کردم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
abofazeli 0 ارسال شده در ۲۱ دی ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۱ دی ۱۳۹۳ خسته نباشد دوستان من چند تا کد تا حالا استفاده کردم و هیچ کدامشان تا به حال جواب نداد! کد زیر را بررسی کنید ببینید متوجه میشوید چرا جواب نمیده؟ package com.zipp;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.ByteArrayOutputStream;import java.io.File;import java.nio.Buffer;import java.nio.ByteBuffer;import android.util.Log;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.zip.ZipEntry;import java.util.zip.ZipInputStream;import java.util.zip.ZipOutputStream;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(BundlesavedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}public String[] _files; public String _zipFile = "/mnt/sdcard/123.zip"; public class Compress { private static final int BUFFER = 2048; public Compress(String[] files, String zipFile) { _files = files; _zipFile = zipFile; Button btn_zip = (Button) findViewById(R.id.zip); btn_zip.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { try { BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream(_zipFile); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest)); String path = "/mnt/sdcard/out"; File fileDir = new File( path ); if(!fileDir.exists() || !fileDir.isDirectory()) { return; } String[] _files = fileDir.list(); for ( int i = 0 ; i < _files.length ; i++ { _files[i] = path + "/"+ _files[i]; } byte data[] = new byte[bUFFER]; for(int i=0; i < _files.length; i++) { Log.v("Compress", "Adding: " + _files[i]); FileInputStream fi = new FileInputStream(_files[i]); origin = new BufferedInputStream(fi, BUFFER); ZipEntry entry = new ZipEntry(_files[i].substring(_files[i].lastIndexOf("/") + 1)); out.putNextEntry(entry); int count; while ((count = origin.read(data, 0, BUFFER)) != -1) { out.write(data, 0, count); } origin.close(); } out.close(); } catch(Exception e) { e.printStackTrace(); } } });} }} نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
abofazeli 0 ارسال شده در ۲۲ دی ۱۳۹۳ گزارش اشتراک گذاری ارسال شده در ۲۲ دی ۱۳۹۳ واقعا خیلی سخته این سوال من؟؟؟!! نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
jafar.rahimifar 0 ارسال شده در ۸ شهریور ۱۳۹۴ گزارش اشتراک گذاری ارسال شده در ۸ شهریور ۱۳۹۴ با سلام اگر بخواهیم فایل را پسورد بگذاریم به چه صورت است ؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
nmotaghed 0 ارسال شده در ۲۹ بهمن ۱۳۹۶ گزارش اشتراک گذاری ارسال شده در ۲۹ بهمن ۱۳۹۶ با سلام خدمت شما استاد عزیز ... من یه سری فایل زیپ تو سایتی دارم که بعضی از این فایلها محتوای داخلشون فارسی هستش ... بعنوان مثال اسم فایل زیپ temp.zip اما یه فایل پی دی اف با عنوان فارسی.pdf داخلش هست .طبق سوالی که قبلا ازتون پرسیدم و زحمت کشیدین جواب دادین نمیدونم utf-8 رو باید به کجای کد unzip اضافه کنم تا این فایل رو بتونه از حالت فشرده خارج کنه ... ممنون میشم راهنمایی بفرمایید. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .