IO流bufferedReader中 if(br!=null) br.close();啥意思? 不是等于空流结束了才关闭流吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流bufferedReader中 if(br!=null) br.close();啥意思? 不是等于空流结束了才关闭流吗?相关的知识,希望对你有一定的参考价值。
public class IOUtil
private static BufferedReader br;
public static BufferedReader getReader(String filepath)throws IOException
br = new BufferedReader(new InputStreamReader(
new FileInputStream(filepath)));
return br;
public static void close()throws IOException
if(br!=null)
br.close();
对close()方法有疑问。不理解为什么br流对象不等于null,l关闭。
但br并不是存放着txt里读取的内容,它存放着引用(地址)(指针)。
在程序进行中可能发生某种错误,造成br为空,直接关闭空指针会产生异常
Java IO流 之 BufferedReader
http://www.verejava.com/?id=16994684528313
package com.io2;
import java.io.*;
public class TestBufferedWriter
{
public static void main(String[] args)
{
Writer w;
try
{
w = new FileWriter(new File("res/buffered.txt"));
//缓存流 他的数据 是保存在 内存当中
BufferedWriter writer=new BufferedWriter(w);
//写入数据
writer.write("hello world");
//只有 用 flush 才能把 内存当中的数据 写入 文件
writer.flush();
//读取数据
Reader r=new FileReader(new File("res/buffered.txt"));
BufferedReader reader=new BufferedReader(r);
//可以以 一行 一行读取文件内容
System.out.println(reader.readLine());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
http://www.verejava.com/?id=16994684528313
以上是关于IO流bufferedReader中 if(br!=null) br.close();啥意思? 不是等于空流结束了才关闭流吗?的主要内容,如果未能解决你的问题,请参考以下文章
IO流——BufferedReader和BufferedWriter
IO流BufferedReader------BufferedWriter 高效缓冲区
Java IO流 之 BufferedReader BufferedWriter 实例
IO流25 - 字符流 - 字符输出流的缓冲流以及字符输入流的缓冲流BufferedWriter和BufferedReader