android 將資料儲存到檔案中&從檔案中讀取資料
阿新 • • 發佈:2019-01-09
1.將資料儲存到檔案中,我直接貼程式碼了,基本註釋都在程式碼中,原諒我很懶。
/** * 將資料存到檔案中 * * @param context context * @param data 需要儲存的資料 * @param fileName 檔名 */ private void saveDataToFile(Context context, String data, String fileName) { FileOutputStream fileOutputStream = null; BufferedWriter bufferedWriter = null; try { /** * "data"為檔名,MODE_PRIVATE表示如果存在同名檔案則覆蓋, * 還有一個MODE_APPEND表示如果存在同名檔案則會往裡面追加內容 */ fileOutputStream = context.openFileOutput(fileName, Context.MODE_PRIVATE); bufferedWriter = new BufferedWriter( new OutputStreamWriter(fileOutputStream)); bufferedWriter.write(data); } catch (IOException e) { e.printStackTrace(); } finally { try { if (bufferedWriter != null) { bufferedWriter.close(); } } catch (IOException e) { e.printStackTrace(); } } }
2.從檔案中讀取資料,還是上程式碼,能用程式碼說話就別打字
/** * 從檔案中讀取資料 * @param context context * @param fileName 檔名 * @return 從檔案中讀取的資料 */ private String loadDataFromFile(Context context, String fileName) { FileInputStream fileInputStream = null; BufferedReader bufferedReader = null; StringBuilder stringBuilder = new StringBuilder(); try { /** * 注意這裡的fileName不要用絕對路徑,只需要檔名就可以了,系統會自動到data目錄下去載入這個檔案 */ fileInputStream = context.openFileInput(fileName); bufferedReader = new BufferedReader( new InputStreamReader(fileInputStream)); String result = ""; while ((result = bufferedReader.readLine()) != null) { stringBuilder.append(result); } } catch (IOException e) { e.printStackTrace(); } finally { if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } } } return stringBuilder.toString(); }