Android开发实现读取Assets下文件及文件写入存储卡的方法
本文实例讲述了Android开发实现读取Assets下文件及文件写入存储卡的方法。分享给大家供大家参考,具体如下:
调用一个反编译的.so文件,查看起加密和解密情况,需要解析上万的数组,而so文件加密解密都是通过Byte来进行,又需要把String字符串转化为Byte,当把数据直接写在代码中就会提示多Byte数组过大。最后把数组写到Assets文件加下,读取txt文本文件。
读取Assets方法如下:
publicStringgetFromAssets(StringfileName){ Stringresult=""; try{ InputStreamin=getResources().getAssets().open(fileName); //获取文件的字节数 intlenght=in.available(); //创建byte数组 byte[]buffer=newbyte[lenght]; //将文件中的数据读到byte数组中 in.read(buffer); result=EncodingUtils.getString(buffer,ENCODING); }catch(Exceptione){ e.printStackTrace(); } returnresult; }
然后
StringstrEn=getFromAssets("encode.txt");
txt中的文本文件是str,str,str这种形式,然后把
String[]encode1=strEn.split(",");
通过字符串把读取的字符串转化成字符串数组。
for(inti=0;iString.split具有分割数组的作用,它已某一个特殊符号为分界点然后进行数组分割。
再把加密后的字符串写到本地文件。方法如下
publicStringsaveInfo2File(StringmString){ StringBuffersb=newStringBuffer(); try{ longtimestamp=System.currentTimeMillis(); StringfileName="encut"+".txt"; if(Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)){ Stringspath=Environment.getExternalStorageDirectory() .getPath()+"/A1/"; Filesdir=newFile(spath); if(!sdir.exists()) sdir.mkdirs(); FileOutputStreamfos=newFileOutputStream(spath+fileName); sb.append(mString); fos.write(sb.toString().getBytes()); fos.close(); } returnfileName; }catch(Exceptione){ } returnnull; }更多关于Android相关内容感兴趣的读者可查看本站专题:《Android文件操作技巧汇总》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android布局layout技巧总结》、《Android开发入门与进阶教程》、《Android资源操作技巧汇总》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。