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"));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。