需求:
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(idPASide 64, \"/sdcard/Gyt/\", \"idPASide.txt\");
3、调用 - 读取
String idPASide 64 = FileUtils.getFileContent(new File(\"/sdcard/Gyt/idPASide.txt\"));
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
继续阅读与本文标签相同的文章
上一篇 :
云栖科技评论第63期:有了AI,世界杯更“好看”
-
功能超多还不占内存,果然浓缩的都是精华!
2026-05-18栏目: 教程
-
PC端如何不再窗口切换、实现沉浸式资料收集?
2026-05-18栏目: 教程
-
不蒸馒头争口气,哈弗H6、博越这些国产SUV让合资品牌不得不忌惮
2026-05-18栏目: 教程
-
中国移动向携号转网妥协,必须满足这一条件,网友:套路太深!
2026-05-18栏目: 教程
-
老板让我对比word文档差异,我用了2小时,同事1分钟就搞定了
2026-05-18栏目: 教程
