软件编程
位置:首页>> 软件编程>> Android编程>> Android开发实现读取Assets下文件及文件写入存储卡的方法

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

作者:jia635  发布时间:2023-02-07 15:42:21 

标签: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程序设计有所帮助。

来源:http://blog.csdn.net/jia635/article/details/40591373

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com