1. 程式人生 > >java IO 讀檔案 寫檔案

java IO 讀檔案 寫檔案

今天,線上出了一點問題,需要通過檢視日誌才能解決。最終,也的確是通過檢視日誌解決了問題。接著就需要對日誌檔案進行過濾,查詢日誌檔案中我們想要的資料,然後存入庫中。
於是寫了一個簡單的讀寫檔案操作。日後再使用的時候,我就不再去寫了,直接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) {
                }
            }
        }
    }