天天看點

Android将資料存儲到指定檔案

// 将字元串寫入到文本檔案中
public 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 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 void deleteFile(String filePath, String fileName) {
    File f = new File(filePath + fileName);  // 輸入要删除的檔案位置
    if (f.exists()) {
        f.delete();
    }


}

調用   需要導入fastjson.jar


       
Map volume_map = new HashMap();         //利用HashMap 用來儲存鍵值對
volume_map.put("sex", sex_value);       //性别
volume_map.put("neck", neck_value);     //領圍
volume_map.put("bust", bust_value);     //胸圍      
String volume_json = JSON.toJSONString(volume_map);   //調用fastjson包  将HashMap轉化成json格式字元串
String filePath = "/sdcard/Deye/";       //定義量體資料儲存位置
String fileName = "volume.txt";         //定義量體資料儲存位置
deleteFile(filePath, fileName);         //調用方法清除原檔案
writeTxtToFile(volume_json, filePath, fileName);  //調用方法寫入量體資訊