BufferedReader中readLine()方法的使用
package com.cvicse.io.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 缓冲流
* 字节缓冲区流 BufferedInputStream BufferedOutputStream
* 字符缓冲区流 BufferedReader BufferedWriter
* @author 13169
*
*/
public class BufferedReaderDemo01 {
public static void main(String[] args) throws IOException {
//数据输入的标准格式
//System.in是InputStream类对象
//BufferedReader类中需要接受Reader类对象
//使用转换流将System.in转换为Reader类对象
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入数据:");
//读取一行数据
String str = buf.readLine();
System.out.println(str);
buf.close();
}
}
实现标准键盘输入
package com.cvicse.io.demo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* 缓冲流
* 字节缓冲区流 BufferedInputStream BufferedOutputStream
* 字符缓冲区流 BufferedReader BufferedWriter
* @author 13169
*
*/
public class BufferedReaderDemo02 {
public static void main(String[] args) throws IOException {
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
boolean flag = true;
System.out.println("请输入年龄:");
while (flag) {
//读取一行数据
String str = buf.readLine();
if(str.matches("\\d{1,3}")) { //如果输入数据由数字组成
System.out.println("年龄是:"+Integer.parseInt(str));
flag = false; //退出循环
}else {
System.out.println("年龄输入错误,应该由数字组成");
System.out.println("请重新输入年龄:");
}
}
buf.close();
}
}
利用缓冲流进行大文本读取
package com.cvicse.io.demo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
/**
* 缓冲流
* 字节缓冲区流 BufferedInputStream BufferedOutputStream
* 字符缓冲区流 BufferedReader BufferedWriter
* @author 13169
*
*/
public class BufferedReaderDemo03 {
public static void main(String[] args) throws IOException {
File file = new File("E:"+File.separator+"apache-maven-3.6.0"+File.separator+"README.txt");
//利用缓冲区流进行文件读取 大文本数据读取
BufferedReader buf = new BufferedReader(new FileReader(file));
String str = null;
while((str = buf.readLine())!= null) {
System.out.println(str);
}
buf.close();
}
}