如题,本人在META-INF目录里放了一个txt文本,android有什么方法能读取到这个txt文本吗?有没有相关方法或博客链接参考一下
解决方案
10
读不到吧,一般放到asserts目录下面
30
大致思路是将Apk文件当作一个zip文件,获取apk文件路径之后,利用ZipFile, ZipEntry, ZipInputstream等zip操作接口访问就可以了。
大致代码如下(随手写的,没有经过调试):
大致代码如下(随手写的,没有经过调试):
private void getFileContent(Context context) { ApplicationInfo appinfo = context.getApplicationInfo(); String sourceDir = appinfo.sourceDir; ZipFile zipfile = null; try { zipfile = new ZipFile(sourceDir); Enumeration<?> entries = zipfile.entries(); while (entries.hasMoreElements()) { ZipEntry entry = ((ZipEntry) entries.nextElement()); String entryName = entry.getName(); if (entryName.startsWith("META-INF/xxx")) { //xxx 表示要读取的文件名 //利用ZipInputStream读取文件 long size = entry.getSize(); if (size > 0) { BufferedReader br = new BufferedReader(new InputStreamReader(zipfile.getInputStream(entry))); String line; while ((line = br.readLine()) != null) { //文件内容都在这里输出了,根据你的需要做改变 System.out.println(line); } br.close(); } break; } } } catch (IOException e) { e.printStackTrace(); } finally { if (zipfile != null) { try { zipfile.close(); } catch (IOException e) { e.printStackTrace(); } } } }