Android存储字符串数据到txt文件
需求:
android存储字符串数据简单的有SharePerfence不过只能存储89kb最多的数据(好像),超过这个数据如果不方便网络存储,只能用文件存储了,这里写了一个工具类,存储到txt文件(不重要的数据,但是体量大)
代码:
1、工具类
packagecom.xxx.util; importandroid.os.Environment; importandroid.util.Log; importjava.io.BufferedReader; importjava.io.File; importjava.io.FileInputStream; importjava.io.FileNotFoundException; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.InputStreamReader; importjava.io.RandomAccessFile; /** *文件工具类 *Createdbyzston2018/2/1. */ publicclassFileUtils{ //将字符串写入到文本文件中 publicstaticvoidwriteTxtToFile(Stringstrcontent,StringfilePath,StringfileName){ //生成文件夹之后,再生成文件,不然会出错 makeFilePath(filePath,fileName); StringstrFilePath=filePath+fileName; //每次写入时,都换行写 StringstrContent=strcontent+"\r\n"; try{ Filefile=newFile(strFilePath); if(!file.exists()){ Log.d("TestFile","Createthefile:"+strFilePath); file.getParentFile().mkdirs(); file.createNewFile(); } RandomAccessFileraf=newRandomAccessFile(file,"rwd"); raf.seek(file.length()); raf.write(strContent.getBytes()); raf.close(); }catch(Exceptione){ Log.e("TestFile","ErroronwriteFile:"+e); } } //生成文件 publicstaticFilemakeFilePath(StringfilePath,StringfileName){ Filefile=null; makeRootDirectory(filePath); try{ file=newFile(filePath+fileName); if(!file.exists()){ file.createNewFile(); } }catch(Exceptione){ e.printStackTrace(); } returnfile; } //生成文件夹 publicstaticvoidmakeRootDirectory(StringfilePath){ Filefile=null; try{ file=newFile(filePath); if(!file.exists()){ file.mkdir(); } }catch(Exceptione){ Log.i("error:",e+""); } } //读取指定目录下的所有TXT文件的文件内容 publicstaticStringgetFileContent(Filefile){ Stringcontent=""; if(!file.isDirectory()){//检查此路径名的文件是否是一个目录(文件夹) if(file.getName().endsWith("txt")){//文件格式为""文件 try{ InputStreaminstream=newFileInputStream(file); if(instream!=null){ InputStreamReaderinputreader =newInputStreamReader(instream,"UTF-8"); BufferedReaderbuffreader=newBufferedReader(inputreader); Stringline=""; //分行读取 while((line=buffreader.readLine())!=null){ content+=line+"\n"; } instream.close();//关闭输入流 } }catch(java.io.FileNotFoundExceptione){ Log.d("TestFile","TheFiledoesn'tnotexist."); }catch(IOExceptione){ Log.d("TestFile",e.getMessage()); } } } returncontent; } }
2、调用-写入
FileUtils.writeTxtToFile(idPASideBase64,"/sdcard/Gyt/","idPASide.txt");
3、调用-读取
StringidPASideBase64=FileUtils.getFileContent(newFile("/sdcard/Gyt/idPASide.txt"));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。