天天看點

Java IO進階應用(緩沖輸入流)

BufferReader類的繼承結構及構造方法:

java.lang.Object

    |-java.io.Reader

        |-java.io.BufferReader

public BufferReader(Reader in)

範例1:鍵盤資料輸入标準

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

public class Demo {
	public static void main(String[] args) throws Exception {// 此處直接抛錯
		BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("請輸入資料:");
		String str = buf.readLine();// 以回車作為換行
		System.out.println("輸入的内容是:" + str);
	}

}
           
Java IO進階應用(緩沖輸入流)

============分割線============

範例2:判斷輸入内容

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

public class Demo {
	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,2}")) {
				System.out.println("年齡是:" + Integer.parseInt(str));
				flag = false;
			} else {
				System.out.println("輸入錯誤!重新輸入:");
			}
		}
	}

}
           
Java IO進階應用(緩沖輸入流)

============分割線============

範例3:進行檔案讀取

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

public class Demo {
	public static void main(String[] args) throws Exception {// 此處直接抛錯
		BufferedReader buf = new BufferedReader(
				new FileReader("e:" + File.separator + "demo" + File.separator + "my.txt"));
		String str = null;
		while ((str = buf.readLine()) != null) {
			System.out.println(str);
		}
		buf.close();
	}

}
           
Java IO進階應用(緩沖輸入流)