文本读写:
向本地存储写入内容:
/**
* 向本地文件写入内容
*
* @param content 内容
* @param fileName 在根目录基础上存储的文件夹路径
* @param isAppend 是否追加
*/
protected void writerFile(String content, String fileName, Boolean isAppend) {
content = "\n" + content;
//获取当前sdcard的工作目录
File sdcard = Environment.getExternalStorageDirectory();
if (!sdcard.exists()) {
Toast.makeText(getContext(), "当前系统不具备SD卡目录", Toast.LENGTH_LONG).show();
return;
}
String path = sdcard + File.separator;
File myFile = new File(path + fileName);
//如果sdcard的状态为可读写
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
try {
if (!myFile.exists()) myFile.mkdirs();
//fileName为要写入的文件名,如果不存在会自动创建
FileOutputStream fileOutputStream = new FileOutputStream(myFile, isAppend);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream);
//写入文件值,content为要写入值的变量
outputStreamWriter.write(content);
outputStreamWriter.flush();
outputStreamWriter.close();
//关闭文件流
fileOutputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
toast("sdcard 不可用");
}
}
示例:
writerFile("value", “BaiCaiPosTest/configure.txt”, false);
读取本地存储的内容:
/**
* 从本地文件读取内容
*
* @param fileName 在根目录的基础上,文件夹路径
* @return 读取到的内容
*/
public static String readFile(String fileName) {
//定义一个文件输入流
FileInputStream fileInputStream = null;
File myFile = null;
String path = null;
StringBuffer buffer = null;
//获取当前sdcard的工作目录
File sdcard = Environment.getExternalStorageDirectory();
//判断是否有读写操作的权限
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
try {
//文件输入流打开文件
path = sdcard + File.separator;
myFile = new File(path + fileName);
fileInputStream = new FileInputStream(myFile);
//声明StringBuffer用来保存读取到的信息
buffer = new StringBuffer();
//每一次要读取的字节
byte[] bs = new byte[1024];
//用来判断是否读取完毕的临时变量
int len;
while ((len = fileInputStream.read(bs)) != -1) {
buffer.append(new String(bs));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
//关闭文件流
try {
if (fileInputStream != null) fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return buffer != null ? buffer.toString().trim() : "";
}
示例:
FileUtils.readFile("BaiCaiPosTest/configure.txt");
获取目录:
获取存储根目录:
String file = Environment.getExternalStorageDirectory().getAbsolutePath()
获取应用名下的fils目录(Android\data\包名\files):
File file = Application.getExternalFilesDir("目录");