昨晚出差刚回来,在技术群里水,一哥们提出了这个问题,由于在帮一兄弟录制视频,就推到了今天,废话不多说,直接看下面步骤:
不知道怎么放assets文件夹的注意啦:
源码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
unZip(MainActivity.this, "txt.zip", Environment.getExternalStorageDirectory() + "/text");
} catch (IOException e) {
e.printStackTrace();
}
}
private void unZip(Context context, String assetName, String outputDirectory) throws IOException {
File file = new File(outputDirectory);
if (!file.exists()) {
file.mkdirs();
}
InputStream inputStream = null;
inputStream = context.getAssets().open(assetName);
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
ZipEntry zipEntry = zipInputStream.getNextEntry();
byte[] buffer = new byte[1024 * 1024];
int count = 0;
while (zipEntry != null) {
//如果是一个目录
if (zipEntry.isDirectory()) {
//String name = zipEntry.getName();
//name = name.substring(0, name.length() - 1);
file = new File(outputDirectory + File.separator + zipEntry.getName());
file.mkdir();
} else {
//如果是文件
file = new File(outputDirectory + File.separator
+ zipEntry.getName());
//创建该文件
file.createNewFile();
FileOutputStream fileOutputStream = new FileOutputStream(file);
while ((count = zipInputStream.read(buffer)) > 0) {
fileOutputStream.write(buffer, 0, count);
}
fileOutputStream.close();
}
//定位到下一个文件入口
zipEntry = zipInputStream.getNextEntry();
}
zipInputStream.close();
}
}
其实这些东西goole一下,一大堆,能自己解决尽量不要问别人,哈哈。。。。
不过这个压缩文件貌似只能放.zip格式的。