一、Buffered 位元組方式 BufferedInputStream BufferedOutputStream 字元方式 BufferedReader BufferedWriter package com.bjpowernode.java_learning; import java.io.*; p ...
一、Buffered
位元組方式
BufferedInputStream
BufferedOutputStream
字元方式
BufferedReader
BufferedWriter
package com.bjpowernode.java_learning; import java.io.*; public class D99_1_BufferedReaderAndWriter { public static void main(String[] args) throws Exception{ //創建一個帶有緩衝區的字元輸入流 String address = "C:\\\\Users\\\\lenovo1\\\\Workspaces\\\\MyEclipse CI\\\\Java_learning\\\\src\\\\com\\\\bjpowernode\\\\java_learning\\\\temp1.txt"; FileReader fr = new FileReader(address);//創建一個文件字元輸入流 BufferedReader br = new BufferedReader(fr);//將文件字元輸入流包裝成帶有緩衝區的字元輸入流 //根據流出現的位置,流又分為:包裝流或者處理流和節點流 //FileReader fr是一個節點流 //BufferedReader br是一個包裝流,或者處理流 //上面的兩行代碼可以簡寫為如下一行 //BufferedReader fr = new BufferedReader(new FileReader("C:\\\\Users\\\\lenovo1\\\\Workspaces\\\\MyEclipse CI\\\\Java_learning\\\\src\\\\com\\\\bjpowernode\\\\java_learning\\\\temp1.txt")); //開始讀 String temp = null; while((temp = br.readLine()) != null) {//br.readline()方法讀取一行,但是行尾是不帶換行符的 System.out.println(temp);//輸出一行 } //關閉 //註意:關閉的時候只需要關閉外層的包裝流即可(這裡有一個包裝者模式) fr.close(); //創建一個帶有緩衝區的字元輸入流 FileInputStream fis = new FileInputStream(address); //轉換流,位元組輸入流轉換為字元輸入流,為了就是能夠傳入BufferedReader中 InputStreamReader isr = new InputStreamReader(fis); BufferedReader br2 = new BufferedReader(isr); //開始讀 String temp2 = null; while((temp2=br2.readLine())!= null) { System.out.println(temp2); } //關閉,關閉最外層的流即可,(裝飾者模式) } }
二、接受用戶鍵盤輸入
1.System.in是一個標準的輸入流,預設可以接受鍵盤的輸入
package com.bjpowernode.java_learning; import java.io.*; import java.util.*; public class D99_2_AcceptUserInput { public static void main(String[] args) throws Exception{ //以前的方式 Scanner s = new Scanner(System.in); //程式執行到這裡停下來,等待用戶輸入 String str = s.next(); System.out.println(str); //next()是以空格為界限 //接下來使用BufferedReader來接受用戶的輸入 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //接受輸入(每次接受一行 String str2 = br.readLine(); System.out.println(str2); br.close(); } }
三、源碼:
D99_1_BufferedReaderAndWriter.java
D99_2_AcceptUserInput.java
https://github.com/ruigege66/Java/blob/master/D99_1_BufferedReaderAndWriter.java
https://github.com/ruigege66/Java/blob/master/D99_2_AcceptUserInput.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料