黑马程序员技术交流社区
标题:
iO中是先关闭输入流还是输出流
[打印本页]
作者:
孙天
时间:
2012-3-28 22:23
标题:
iO中是先关闭输入流还是输出流
package cn.itcast.f.io.test;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/*
* 对文本文件进行复制。将c盘的文件复制到d盘中。
* 原理:其实就是一个最简单的读写过程。
* 从c盘源,读取数据,并将读到的数据,写入到目的d盘中。
*/
public class CopyTextFileTest2 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
try {
// 创建一个字符读取流读写和源数据关联。
fr = new FileReader("其他API文档.txt");
// 创建一个存储数据的目的地。
fw = new FileWriter("copy_demo2.txt");
char[] buf = new char[1024];
int len = 0;
while ((len = fr.read(buf)) != -1) {
fw.write(buf, 0, len);
}
} catch (Exception e) {
} finally {
if (fw != null)
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
if (fr != null)
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
作者:
郑涛
时间:
2012-3-28 23:25
理论上都可以吧,因为你要把他们都放在finally中,以确保执行到,就算先读后写的情况,你也是先要判定读完然后再跳出循环体。先关哪个都行,还要加入健壮性判断。
作者:
李震 李震 李震
时间:
2012-3-28 23:51
关闭流是从下往上关闭。
作者:
陈坚
时间:
2012-3-29 10:37
那个数据流先创建就先关必
作者:
何万县
时间:
2012-3-29 11:18
理论上都可以吧,因为你要把他们都放在finally中,以确保执行到,就算先读后写的情况,你也是先要判定读完然后再跳出循环体。先关哪个都行,还要加入健壮性判断。
作者:
izwj
时间:
2012-3-29 11:32
当文件读写完成后,输入流和输出流都没有数据,先关闭谁都可以,顺序没有要求, fw.close();fr.close();的顺序可以颠倒。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2