1、Scanner获取键盘输入
import java.util.Scanner;
public class main{
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
String str1 = scanner.nextLine();
String str2 = scanner.nextLine();
System.out.println(isEqual(str1,str2));
}
scanner.close();
}
}
注意:1、Scanner不能从键盘获取所有字符均为空格的字符串
2、Scanner中的nextInt()、nextFloat()方法不会接收回车符、换行符,如果在其后增加nextLine()方法,回车符和换行符会被接收,主要用于多输入控制。如下:
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
// nextInt()不会接收回车符、换行符,如果在其后增加nextLine()方法,回车符和换行符会被接收
String str = scanner.nextLine();
for(int i = 0; i < n; i++){
str = scanner.nextLine();
System.out.println(stringProcess(str));
}
scanner.close();
}
2、BufferReader获取键盘输入
import java.io.BufferReader
import java.io.IOException
public class main{
public static void main(String[] args){
BufferReader br = new BufferReader(new InputStreamReader(System.in));
String str1;
String str2;
try{
while((str1 = br.readlLine()) != null && (str2 = br.readLine()) != null){
System.out.println(isEqual(str1,str2));
}
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
注意:BufferReader需要写异常处理,且可以读取所有字符均为空格的字符串
3、Scanner获取文件内容
// 将文件路径传入Scanner
Scanner sc1 = new Scanner(new File("D:\\work\\Program Files\\Java\\a.java"));
while(sc1.haNext()){
// 输出文件中的一行
System.out.println(sc1.nextLine());
}
4、BufferReader获取文件内容
public static void main(String[] args){
BufferReader br1 = null;
BufferReader br2 = null;
try{
br1 = new BufferReader(new FileReader("D:\\work\\Program Files\\Java\\a.java"));
// 使用readLine()读取
String contentLine = br1.readLine();
while(contentLine != null){
System.out.println(contentLine);
contentLine = br1.readLine();
}
br2 = new BufferReader(new FileReader("D:\\work\\Program Files\\Java\\a.java"));
// 使用read()读取
int num = 0;
char ch;
while((num = br2.read() != -1)){
ch = (char) num;
system.out.println(ch);
}
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(br1 != null){
br1.close();
}
if(br2 != null){
br2.close();
}
}catch(IOException e){
System.out.println("Error in closing the BufferReader");
}
}
}
当try语句中出现异常时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e初始化,即实例化Exception类型的对象。e是此对象异常名称,然后e会自动调用Exception类中指定的方法,也就出现了e.printStackTrace()。该方法的意思是:在命令行中打印出异常信息在程序中出错的位置及原因。