首页 > 系统 > Android > 正文

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

2019-10-22 18:25:14
字体:
来源:转载
供稿:网友

本文实例讲述了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开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表