怎么解决bufferedReader无限读取数据的问题?

import java.io.*;
//从键盘读取字符时只有输入exit才能终止,怎么解决这个问题呢?
public class TestInputStream {
public static void main(String args[]) throws Exception{、

     System.out.printf("请输入字符:"); 
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     String str=br.readLine();

    while((str!=null)&&!str.equals("exit")){
           System.out.println("输入的字符:"+str); 
            str=br.readLine();
  }

  br.close();

}
}

把循环改为如下就行。
while(true){
str=br.readLine();
if(str.equals("exit")){
break;
}else{
System.out.println("输入的字符:"+str);
}

}