java中文件的讀取和寫入

import java.io.*;

public class TestDemo {

    /**
     * 功能:Java讀取txt文件的內容
     * 步驟:
     * 1:先獲得文件句柄
     * 2:獲得文件句柄當做是輸入一個字節碼流,需要對這個輸入流進行讀取
     * 3:讀取到輸入流後,需要讀取生成字節流
     * 4:一行一行的輸出。readline()。
     * 備註:需要考慮的是異常情況
     * @param filePath
     */
    public static void readTxtFile(String filePath) {
        try {
            String encoding = "utf-8";
            //讀取路徑下的文件
            File file = new File(filePath);
            //判斷文件是否存在
            if (file.isFile() && file.exists()) {
                //建立一個輸入流對象read,考慮到編碼格式
                InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);
                //建立一個對象,它把文件內容轉成計算機能讀懂的語言
                BufferedReader bufferedReader = new BufferedReader(read);
                String lineTxt = null;
				StringBuffer strBuffer = new StringBuffer();
                while ((lineTxt = bufferedReader.readLine()) != null) {
					//將文件內容存到 字符串緩衝 中
					strBuffer.append(lineTxt);               
                }
				//轉換成字符串
				String str = strBuffer.toString();
				//讀取文件內容
				System.out.println(str);
                read.close();
            } else {
                System.out.println("找不到指定的文件");
            }
        } catch (Exception e) {
            System.out.println("讀取文件內容出錯");
            e.printStackTrace();
        }
    }

    /**
     * @Author 
     * @Description 文件寫入
     * @Date 
     * @param filePath 需要寫入的文件路徑
     * @return void
     **/
    public static void writeTxtFile(String filePath){
        /* 寫入Txt文件 */
        // 相對路徑,如果沒有則要建立一個新的output.txt文件
        File writename = new File(filePath);
        try {
			//FileWriter ()的第二個參數爲 true 時,表示在文件末尾增加內容 ,不寫第二個參數時, 表示覆蓋原文件內容
            BufferedWriter out = new BufferedWriter(new FileWriter(writename,true));
            // \r\n即爲換行
            out.write("我會寫入文件啦\r\n");
            out.flush(); // 把緩存區內容壓入文件
            out.close(); // 最後記得關閉文件
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


	//編寫測試
    public static void main(String argv[]){
        String filePath = "I:\\cktest\\test.txt";
        readTxtFile(filePath);
        writeTxtFile(filePath);
    }
}
``
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章