天天看點

Java 位元組流 字元流讀寫

檔案讀取

FileReader fileReader = new FileReader("abc.txt");
BufferedReader reader = new BufferedReader(fileReader);
String str = reader.readLine();//按行讀取
           

位元組流寫入

public void WriteStringToFile(String filePath,String str) {
        try {
             File file = new File(filePath);
            // 如果檔案不存在,則建立
            if (!file.exists()) {
                file.createNewFile();
            }
            //true表示在檔案末尾追加
            FileOutputStream fos = new FileOutputStream(file,true);
            str += "\r\n";
            fos.write(str.getBytes());
            fos.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
           

字元流寫入

public void AppendStringToFile(String filePath,String str) {
        try {
           File file = new File(filePath);
            if (!file.exists()) {
                file.createNewFile();
            }
            //true表示在檔案末尾追加
            FileWriter writer = new FileWriter(file.getAbsoluteFile(),true);
            writer.write(str);
            writer.write("\r\n");
            writer.flush();//字元流輸出前先flush緩存
            writer.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
           

buffer寫入

public void BufferStringToFile(String filePath, String str) {
        try {
            File file = new File(filePath);
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fw = new FileWriter(file.getAbsoluteFile(),true);
            BufferedWriter bw = new BufferedWriter(fw);
            str += "\r\n";
            bw.write(str);
            bw.close();
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
           

那開發中究竟用位元組流好還是用字元流好呢?

在所有的硬碟上儲存檔案或進行傳輸的時候都是以位元組的方法進行的,包括圖檔也是按位元組完成,而字元是隻有在記憶體中才會形成的,是以使用位元組的操作是最多的

引用:位元組流與字元流的差別詳解

引用:java 位元組流與字元流的差別

引用:Java IO最詳解