android如何读取META-INF目录下的某文件?

小李葛格 2016-06-26 10:36:45
如题,我在META-INF目录里放了一个txt文本,android有什么方法能读取到这个txt文本吗?有没有相关方法或者博客链接参考一下
...全文
700 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
网易云捕 2016-06-28
  • 打赏
  • 举报
回复
大概思路是将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();
                }
            }
        }

    }
    
安静如瘫痪 2016-06-27
  • 打赏
  • 举报
回复
楼上正解,放在asserts或者sd卡可以读取
网络咖啡 2016-06-27
  • 打赏
  • 举报
回复
读不到吧,一般放到asserts目录下面

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧