首页 > 系统 > Android > 正文

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

2019-10-21 21:36:38
字体:
来源:转载
供稿:网友

需求:

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"));

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


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表