package ScannerAndBufferedReaderTest;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class ScannerAndBufferedReaderTest {
public static void main(String[] args) throws Exception{
/*使用scanner获取键盘输入*/
System.out.println("使用Scanner获取键盘输入,读取一次后自动退出:");
Scanner sc = new Scanner(System.in);//创建一个扫描对象
sc.useDelimiter("\n");//设置换行为分隔符
while(sc.hasNext()){//是否有下一行输入,没有将阻塞等待
System.out.println("键盘输入的内容是:"+sc.next());
System.out.println("退出Scanner");
break;
}
/*使用scanner获取文件内容*/
System.out.println("使用Scanner读取文件内容:");
Scanner sc1 = new Scanner(new File("D:\\work-pc\\Program Files\\Java\\workspace\\a.java"));//将文件路径传入scanner
System.out.println("文件中的内容为:"); //读取文件的内容
while(sc1.hasNextLine()){//判断是否还有下一行
System.out.println(sc1.nextLine());//输出文件中的一行
}
/*使用bufferedreader来获取键盘输入*/
System.out.println("使用BufferedReader获取键盘输入,读取一次后自动退出:");
BufferedReader br1 = new BufferedReader(new InputStreamReader(System.in));//标准输入为字节流,需转换为字符流。BufferedReader接收字符流
String str = null;
try{//涉及到文件读取操作,可能抛出异常
while((str = br1.readLine()) != null ){
System.out.println("键盘输入的字符串为:"+str);
System.out.println("退出BufferedReader");
break;
}
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}