欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android存储字符串数据到txt文件

程序员文章站 2022-06-04 12:18:12
需求: android存储字符串数据简单的有shareperfence不过只能存储89kb最多的数据(好像),超过这个数据如果不方便网络存储,只能用文件存储了,这里写了一...

需求:

android存储字符串数据简单的有shareperfence不过只能存储89kb最多的数据(好像),超过这个数据如果不方便网络存储,只能用文件存储了,这里写了一个工具类,存储到txt文件(不重要的数据,但是体量大)

代码:

1、工具类

package com.xxx.util;
 
import android.os.environment;
import android.util.log;
 
import java.io.bufferedreader;
import java.io.file;
import java.io.fileinputstream;
import java.io.filenotfoundexception;
import java.io.fileoutputstream;
import java.io.ioexception;
import java.io.inputstream;
import java.io.inputstreamreader;
import java.io.randomaccessfile;
 
/**
 * 文件工具类
 * created by zst on 2018/2/1.
 */
public class fileutils {
 
  
  // 将字符串写入到文本文件中
  public static void writetxttofile(string strcontent, string filepath, string filename) {
    //生成文件夹之后,再生成文件,不然会出错
    makefilepath(filepath, filename);
 
    string strfilepath = filepath + filename;
    // 每次写入时,都换行写
    string strcontent = strcontent + "\r\n";
    try {
      file file = new file(strfilepath);
      if (!file.exists()) {
        log.d("testfile", "create the file:" + strfilepath);
        file.getparentfile().mkdirs();
        file.createnewfile();
      }
      randomaccessfile raf = new randomaccessfile(file, "rwd");
      raf.seek(file.length());
      raf.write(strcontent.getbytes());
      raf.close();
    } catch (exception e) {
      log.e("testfile", "error on write file:" + e);
    }
  }
 
  //生成文件
  public static file makefilepath(string filepath, string filename) {
    file file = null;
    makerootdirectory(filepath);
    try {
      file = new file(filepath + filename);
      if (!file.exists()) {
        file.createnewfile();
      }
    } catch (exception e) {
      e.printstacktrace();
    }
    return file;
  }
 
  //生成文件夹
  public static void makerootdirectory(string filepath) {
    file file = null;
    try {
      file = new file(filepath);
      if (!file.exists()) {
        file.mkdir();
      }
    } catch (exception e) {
      log.i("error:", e + "");
    }
  }
 
  //读取指定目录下的所有txt文件的文件内容
  public static string getfilecontent(file file) {
    string content = "";
    if (!file.isdirectory()) { //检查此路径名的文件是否是一个目录(文件夹)
      if (file.getname().endswith("txt")) {//文件格式为""文件
        try {
          inputstream instream = new fileinputstream(file);
          if (instream != null) {
            inputstreamreader inputreader
                = new inputstreamreader(instream, "utf-8");
            bufferedreader buffreader = new bufferedreader(inputreader);
            string line = "";
            //分行读取
            while ((line = buffreader.readline()) != null) {
              content += line + "\n";
            }
            instream.close();//关闭输入流
          }
        } catch (java.io.filenotfoundexception e) {
          log.d("testfile", "the file doesn't not exist.");
        } catch (ioexception e) {
          log.d("testfile", e.getmessage());
        }
      }
    }
    return content;
  }
 
}

2、调用 - 写入

fileutils.writetxttofile(idpasidebase64, "/sdcard/gyt/", "idpaside.txt");

3、调用 - 读取

string idpasidebase64 = fileutils.getfilecontent(new file("/sdcard/gyt/idpaside.txt"));

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。