0
サーバーから内部ストレージにZIPファイルをダウンロードしています。ダウンロードした後、そのファイルを内部ストレージに解凍します。私のファイルは内部ストレージにダウンロードされていますが、それを見ることはできますが、解凍している間は読み込めません。以下は私のunzipfile()メソッドです。私はどこに間違っているのか誰にでも教えてくれる?Androidのアーカイブを解凍すると、内蔵ストレージに保存されます。
public void unzipfile()
{
try {
Log.d("unzipiing","unzipping");
ContextWrapper cw = new ContextWrapper(context);
String name_="foldername"; //Folder name in device android/data/
File directory = cw.getDir(name_, Context.MODE_PRIVATE);
File mypath=new File(directory,"dwnld");
FileOutputStream fout = new FileOutputStream(mypath);
File yourFile = new File(directory,"dwnld.zip");
Log.d("unzipiing","filepath -" + yourFile.getPath());
FileInputStream fin = new FileInputStream(yourFile.getPath());
ZipInputStream zin = new ZipInputStream(fin);
Log.d("unzipiing","zin size -" + zin.available());
// zin.available() give -1 in console log
BufferedInputStream in = new BufferedInputStream(zin);
BufferedOutputStream out = new BufferedOutputStream(fout);
byte b[] = new byte[zin.available()];
int n;
Log.d("unzip","n - " + in.read(b,0,1024));
while ((n = in.read(b,0,1024)) >= 0) {
out.write(b,0,n);
Log.d("unzip byte"," - " + n);
}
out.flush();
out.close();
in.close();
fin.close();
zin.close();
}
catch (Exception e){
}
}
をご確認ください。代わりの解決策を試すことができます:http://stackoverflow.com/questions/3382996/how-to-unzip-files-programmatically-in-android –
リンクとヘルプありがとう。その解決策を試みます。しかし、なぜこのコードがうまくいかないのか知りたいのですが:-( –
しばらくあなたのコードをコメントして、次の解決策のセットに進み、無料でコードをデバッグしようとします。 –