回答編集履歴
2
本文一部修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
先にコメントを書きましたが、assetsフォルダーを出力先とすることはできません。その代わりに、openFileOutput()を用いてアプリケーション用の領域にファイルを書き出す方法に変更するように修正してみました。このメソッドを用いると、`/data/data/<パッケージ名>/files/`の下にファイルが書き出されます。
|
1
|
+
先にコメントを書きましたが、assetsフォルダーを出力先とすることはできません。その代わりに、~~openFileOutput()を用いてアプリケーション用の領域に~~getExternalFilesDir()を用いて内部ストレージのパッケージ専用フォルダーにファイルを書き出す方法に変更するように修正してみました。このメソッドを用いると、~~`/data/data/<パッケージ名>/files/`~~`<内部ストレージ>/Android/<パッケージ名>/files/`の下にファイルが書き出されます。
|
2
2
|
|
3
3
|
|
4
4
|
|
1
コード修正
test
CHANGED
@@ -34,6 +34,10 @@
|
|
34
34
|
|
35
35
|
) {
|
36
36
|
|
37
|
+
File path = getExternalFilesDir(null); // ☆☆☆追加☆☆☆
|
38
|
+
|
39
|
+
|
40
|
+
|
37
41
|
ZipEntry zipentry;
|
38
42
|
|
39
43
|
// zipの中のファイルがあるだけ繰り返す
|
@@ -42,9 +46,9 @@
|
|
42
46
|
|
43
47
|
while ((zipentry = zis.getNextEntry()) != null) {
|
44
48
|
|
45
|
-
try (OutputStream os =
|
49
|
+
try (FileOutputStream fos = new FileOutputStream(path + "/" + zipentry.getName()); // ☆☆☆修正☆☆☆
|
46
50
|
|
47
|
-
BufferedOutputStream bos = new BufferedOutputStream(os);
|
51
|
+
BufferedOutputStream bos = new BufferedOutputStream(fos); // os→fosに修正
|
48
52
|
|
49
53
|
) {
|
50
54
|
|