java7新特性之AutoCloseable接口,解决finally中关闭资源出现exception

在关闭资源的时候,我们通常在finally中关闭资源,但是如果在这里关闭资源出现exception那资源就不能成功关闭,这也算是java7之前的一个bug,java7中引入了AutoCloseable这个接口,并且所有的流都实现了这个接口,系统就会自动管理资源的关闭,见英文解释,点这里,代码如下:

try (BufferedReader reader = new BufferedReader(new InputStreamReader(
				new FileInputStream(new File("/home/wm/文档/workspace/wm.txt"))))) {

			String line = null;
			try {
				while ((line = reader.readLine()) != null) {
					System.out.println(line);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

 

你可能感兴趣的:(java)