保存本地文件
private void initData(String s) {
String filePath = "/sdcard/Test/";
String fileName = "log.txt";
writeTxtToFile(s, filePath, fileName);
}
// 将字符串写入到文本文件中
public void writeTxtToFile(String strcontent, String filePath, String fileName) {
//生成文件夹之后,再生成文件,不然会出错
makeFilePath(filePath, fileName);
String strFilePath = filePath+fileName;
DialogToast.showFailureToastShort("文件路径是:"+strFilePath);
// 每次写入时,都换行写
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()); //如果为追加则在原来的基础上继续写文件
FileOutputStream raf=new FileOutputStream(file);//重写
// if (append) {
// //如果为追加则在原来的基础上继续写文件
// raf = new RandomAccessFile(file, "rw");
// raf.seek(file.length());
// raf.write(buffer);
// if (autoLine) {
// raf.write("\n".getBytes());
// }
// } else {
// //重写文件,覆盖掉原来的数据
// out = new FileOutputStream(file);
// out.write(buffer);
// out.flush();
// }
raf.write(strContent.getBytes());
raf.close();
} catch (Exception e) {
Log.e("TestFile", "Error on write File:" + e);
}
}
// 生成文件
public 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+"");
}
}