throw是语句层面的,是在程序内部抛出异常如 throw new NullPointerException;就是在程序运行到这一行时向外界抛出一个空指针异常。
throws是方法层面的,是修饰方法的异常处理,如public String getName() throws NullPointerException {...},就是说这个方法如果内部产生未经处理的NullPointerException,那么这个方法会向外抛出。
Bufferedreader的用法见代码和注释
补充:
BufferedReader的用法
public class BufferdReader extends Reader
从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。
通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求。因 此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高 的 Reader(如 FileReader 和 InputStreamReader)。例 如,BufferedReader in=new BufferedReader(new FileReader("foo.in"));
将缓冲指定文件的输入。如果没有缓冲,则每次调用 read() 或 readLine() 都会导致从文件中读取字节,并将其转换为字符后返回,而这是极其低效的。