Java 流中close方法
1、使用鼠标点击打开eclipse软件,如图所示:
2、点击File菜单--->New--->Java Project,如图所示:
3、输入项目名称,然后点击Finish按钮,如图所示:
4、然后使用鼠标选中新建的Java项目,右键--new--->Class类,如图所示:
5、输入类名,勾选main方法,然后点击Finish按钮,如图所示:
6、然后在新建类中键入如下代码:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Demo1 { public static void main(String[] args) { // TODO Auto-generated method stub try { File f = new File("a.txt"); FileOutputStream fop = new FileOutputStream(f); // 构建FileOutputStream对象,文件不存在会自动新建 OutputStreamWriter writer = new OutputStreamWriter(fop, "UTF-8"); // 构建OutputStreamWriter对象,参数可以指定编码,默认为操作系统默认编码,windows上是gbk writer.append("中文输入"); // 写入到缓冲区 writer.append("\r\n"); //换行 writer.append("English"); // 刷新缓存冲,写入到文件,如果下面已经没有写入的内容了,直接close也会写入 writer.close(); //关闭写入流,同时会把缓冲区内容写入文件,所以上面的注释掉 fop.close(); // 关闭输出流,释放系统资源 FileInputStream fip = new FileInputStream(f); // 构建FileInputStream对象 InputStreamReader reader = new InputStreamReader(fip, "UTF-8"); // 构建InputStreamReader对象,编码与写入相同 StringBuffer sb = new StringBuffer(); while (reader.ready()) { sb.append((char) reader.read()); // 转成char加到StringBuffer对象中 } System.out.println(sb.toString()); reader.close(); // 关闭读取流 fip.close();// 关闭输入流,释放系统资源 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
7、然后点击运行按钮Run-->Run As-->Java Application,如图所示:
8、在运行控制台Console可以看到已经写入中文输入English,和读出,不管是写入流还是读取流使用完成之后都需要使用该流的Close()方法关闭该流,如图所示: