重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例讲述了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
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程序设计有所帮助。