java IO 讀檔案 寫檔案
阿新 • • 發佈:2018-12-14
今天,線上出了一點問題,需要通過檢視日誌才能解決。最終,也的確是通過檢視日誌解決了問題。接著就需要對日誌檔案進行過濾,查詢日誌檔案中我們想要的資料,然後存入庫中。
於是寫了一個簡單的讀寫檔案操作。日後再使用的時候,我就不再去寫了,直接copy就好了。方便的記錄一下:
/**
* 提供路徑,以行為單位讀取資料
* 以行為單位讀取檔案,常用於讀面向行的格式化檔案
*/
public static List<JSONObject> readFileByLines(String fileName) {
List<JSONObject> listRes = new ArrayList<>();
File file = new File(fileName);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
JSONObject jsonObject = null;
String tempString = null;
// 一次讀入一行,直到讀入null為檔案結束
while ((tempString = reader.readLine()) != null) {
// TODO tempString 就是我們讀取到的那一行的內容,我們也可以進行我們自己的相應的業務的處理
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
return listRes;
}
/**
* 將 內容 輸入到 文字中
* @param filePath 檔案路徑
* @param content 輸出內容
*/
private static void contentToFile(String filePath, String content) {
File file = new File(filePath);
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
System.out.println(e.getMessage() + "檔案建立失敗,路徑是:" + filePath);
}
}
BufferedWriter writer = null;
try {
writer = new BufferedWriter(new FileWriter(file));
writer.write(content);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e1) {
}
}
}
}