保存本地文件

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

你可能感兴趣的:(保存本地文件)