从控制台输入文件的名字然后用缓冲流读取,假如文件不存在就再次输入文件名字,这个过程中的br.close();的位置好像有讲究啊?如果第一次输入的是一个错误的文件名程序就会陷入一个死循环,求解释啊!!!!
public static void main( String args[]){
String filename;
boolean flag=false;
while(!flag){
try{
System.out.println("请输入要打开的文件名");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
filename=br.readLine();
br.close();
FileInputStream is=new FileInputStream(filename);
is.close();
System.out.println("文件已经打开");
flag=true;
}catch(FileNotFoundException e2){
System.out.println("文件不存在");
}catch(IOException e1){
System.out.println("读取文件名出错");
}
}
}
转载于:https://blog.51cto.com/592892919/999389