Android开发实现读取Assets下文件及文件写入存储卡的方法

本文实例讲述了Android开发实现读取Assets下文件及文件写入存储卡的方法。分享给大家供大家参考,具体如下:

调用一个反编译的.so文件,查看起加密和解密情况,需要解析上万的数组,而so文件加密解密都是通过Byte来进行,又需要把String字符串转化为 Byte,当把数据直接写在代码中就会提示多Byte数组过大。最后把数组写到Assets文件加下,读取txt文本文件。

读取Assets方法如下:

public String getFromAssets(String fileName) { String result = ""; try { InputStream in = getResources().getAssets().open(fileName); // 获取文件的字节数 int lenght = in.available(); // 创建byte数组 byte[] buffer = new byte[lenght]; // 将文件中的数据读到byte数组中 in.read(buffer); result = EncodingUtils.getString(buffer, ENCODING); } catch (Exception e) { e.printStackTrace(); } return result; }

然后

String strEn = getFromAssets("encode.txt");

txt中的文本文件是str,str,str这种形式,然后把

String[] encode1 = strEn.split(",");

通过字符串把 读取的字符串转化成字符串数组。

for(int i=0;i<encode1.length;i++){ sendString = encode1[i]; // sbuf.append(sendString+","); try { sendBytes = sendString.getBytes("UTF8"); byte[] s = Base64Encoder.B64Encode(sendBytes); str = new String(s, "ISO-8859-1"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } sbuf.append(str); sbuf.append(","); }

String.split具有分割数组的作用,它已某一个特殊符号为分界点然后进行数组分割。

再把加密后的字符串写到本地文件。方法如下

public String saveInfo2File(String mString) { StringBuffer sb = new StringBuffer(); try { long timestamp = System.currentTimeMillis(); String fileName = "encut" + ".txt"; if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { String spath = Environment.getExternalStorageDirectory() .getPath() + "/A1/"; File sdir = new File(spath); if (!sdir.exists()) sdir.mkdirs(); FileOutputStream fos = new FileOutputStream(spath + fileName); sb.append(mString); fos.write(sb.toString().getBytes()); fos.close(); } return fileName; } catch (Exception e) { } return null; }

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

时间: 2024-08-02 04:47:32

Android开发实现读取Assets下文件及文件写入存储卡的方法的相关文章

Android开发实现读取assets目录下db文件的方法示例

本文实例讲述了Android开发实现读取assets目录下db文件的方法.分享给大家供大家参考,具体如下: 最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api,获取天气是通过城市的cityID,项目中准备通过读取weather_city.db数据库来查询cityID,这篇文章写怎么读取assets目录下的db文件,其实方法也挺简单的就是把assets目录下的db文件复制一份到"/data/data/" + packName + "/&

真机-android读取assets下的mp3文件的title、author、专辑图片等信息

问题描述 android读取assets下的mp3文件的title.author.专辑图片等信息 应该如何获取? 我用的方法是,先在sd卡上写一个mp3文件,再调用cursor来访问MediaStore.但问题是我是真机调试,可以看到手机中确实存在了这个文件,但uri读不到,直接电脑中打开也看不到这个文件,没有隐藏文件,也设置了读写权限.另一个问题是我担心这样做反复读写,跑起来会很慢.请问怎么解决 解决方案 试试在res建个raw把音乐放里面试试

android中读取根目录下的xml文件

问题描述 android中读取根目录下的xml文件 显示无法读取文件 package com.example.testreadxml; import java.io.IOException; import java.io.InputStream; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.app.Activity; import android

AS中读取assets下mp3文件信息

问题描述 AS中读取assets下mp3文件信息 如题,要如何读取?看很多说用MediaStore,可是怎么改到读取assets下? 解决方案 根据文件头信息判断文件真实类型(AS3)AS3读取XML文件as3 使用sound类(翻译)-读取声音信息 解决方案二: 相对路径,用 .. 返回上一层

Android编程实现读取工程中的txt文件功能

本文实例讲述了Android编程实现读取工程中的txt文件功能.分享给大家供大家参考,具体如下: 1. 众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问. 比如我们可以将更新信息.版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问. 在raw中放入一个a.txt文件,然后就可以在Activity中使用getResources()

Android开发重写Animation实现下拉图片后弹射回去效果示例

本文实例讲述了Android开发重写Animation实现下拉图片后弹射回去效果.分享给大家供大家参考,具体如下: 1. 解析: 1)interpolatedTime指的是平移的变化率(从0到1) 2)mStartHeight 控件开始的高度 3)endHeight 控件竖直移动后的高度 4)mImageView.requestLayout(); 图片在改变高度后填充布局并固定 5)ValueUtil.evalute(interpolatedTime, mStartHeight, mEndHei

elasticsearch如何读取src下面的json文件来当做mapping配置

问题描述 elasticsearch如何读取src下面的json文件来当做mapping配置 最近研究elasticsearch,想通过读取src下面json文件来配置mapping, 但是查了很多资料都没有找寻到. 解决方案 读取 JSON 文件转 Map 设置 mapping. 解决方案二: 您好 你这个问题解决了吗??

Android动态修改src目录下的Properties文件如何做?

问题描述 Android动态修改src目录下的Properties文件如何做? 解决方案 http://wenku.baidu.com/link?url=IXMKvhkrBs8_wj_uY27b3BYf_0fqCWm-XwXpwDAvNgMDkByJiw7j2nZOfSWcnmI2XlGdokvfD5zVXjhYKiyToHzfl4YxzgHDXlvOsjHXV9i(java修改properties文件)希望对你帮助!

c++ mfc-mfc开发中 读取经过des加密的文件时,只能读取一部分加密文件

问题描述 mfc开发中 读取经过des加密的文件时,只能读取一部分加密文件 在mfc中,读取一个经过des加密的文件时只能读取到其中的一部分文件,其他的都读取不到 解决方案 先看解密是否正确,估计格式就不对.