JavaIO編程(緩衝流)

緩衝流的作用:解決數據亂碼
緩衝流分爲:
①字符緩衝區流:BufferedReader、BufferedWriter
②字節緩衝區流:BufferedInputStream、BufferedOutputStream
以上4個操作類中,最重要的就是BufferedReader類,屬於字符緩衝輸入流,要處理中文數據,字符流是最方便的。BuferedReader是Reader的子類。

構造方法:public BufferedReader(Reader in)-----設置字符輸入流
普通方法:public String readLine() throws IOException ------讀取一行文字,默認以"\n"爲分隔符

用BufferedReader讀取數據,並判斷輸入內容是年齡:

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class TestBufferedReader {
	public static void main(String[] args) throws Exception{
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		boolean flag = true;
		while(flag){
			System.out.println("請輸入年齡:");
			String str =buf.readLine();
			if(str.matches("\\d{1,3}")){
				System.out.println("年齡是:"+Integer.parseInt(str));
			}else{
				System.out.println("年齡輸入有誤,年齡由數字組成");
			}
		}
	}
}

用BufferedReader來處理System.in就必須將InputStream類型轉換爲Reader類型,可以利用InputStreamReader類來實現這一操作。(因爲BufferedReader的構造方法中,接受了Reader類型,而System.in是InputStream類型)

字符緩衝流不但可以接收輸入信息,還可以進行文件的讀取。

讀取文件:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;

public class Test3{
	public static void main(String[] args) throws Exception{
		File file = new File("D:"+ File.separator + "demo.txt");
		BufferedReader buf = new BufferedReader(new FileReader(file));
		String str = null;
		while((str = buf.readLine())!= null){
			System.out.println(str);
		}
		buf.close();
	}
}
發佈了33 篇原創文章 · 獲贊 1 · 訪問量 4701
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章