BufferReader异常

u012282088 2013-11-27 04:47:02
package IO;
import java.io.*;


public class TestIO {

public static void main(String[] args) {

FileInputStream fis = null;
FileOutputStream fos = null;

try {
fis = new FileInputStream("G:\\shi's work\\java\\question.txt");
fos = new FileOutputStream("G:\\shi's work\\java\\copy1.txt");
;
} catch (FileNotFoundException e) {
System.out.println("文本地址错误");
e.printStackTrace();
}

BufferedReader br = null;
BufferedWriter bw = null;
String tem;
try{
br = new BufferedReader(new InputStreamReader (fis));
bw = new BufferedWriter(new OutputStreamWriter(fos));

while((tem =br.readLine())!=null){
bw.write(tem);
}
}catch(Exception e){
e.printStackTrace();
}
finally{
try {
br.close();
bw.flush();
bw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
}
文件也正确的复制了,但是最后抛出异常,求解释

PS:我删除了与它无关的源代码,所以最后提示的行数不是54
...全文
197 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
u012282088 2013-11-27
  • 打赏
  • 举报
回复
引用 4 楼 a470577391 的回复:
已试,没有异常,但有点问题 bw.write(tem);改成bw.write(tem+"\r\n");最好 关闭的时候先关bw,在关br,你还有fis和fos没有关闭
学习学习
u012282088 2013-11-27
  • 打赏
  • 举报
回复
引用 3 楼 lwb314 的回复:
话说我这里没报错
这不科学...
老紫竹 2013-11-27
  • 打赏
  • 举报
回复
fis和fos关闭就可以了。
白开水MD5 2013-11-27
  • 打赏
  • 举报
回复
已试,没有异常,但有点问题 bw.write(tem);改成bw.write(tem+"\r\n");最好 关闭的时候先关bw,在关br,你还有fis和fos没有关闭
  • 打赏
  • 举报
回复
话说我这里没报错
  • 打赏
  • 举报
回复
原来的54行是哪句啊?如果是bw.flush();,那你把它移动到br.close();前边
teemai 2013-11-27
  • 打赏
  • 举报
回复

import java.io.*;

public class TestIO {

	public static void main(String[] args) {

		FileInputStream fis = null;
		FileOutputStream fos = null;

		try {
			fis = new FileInputStream("G:\\shi's work\\java\\question.txt");
                        fos = new FileOutputStream("G:\\shi's work\\java\\copy1.txt");
			;
		} catch (FileNotFoundException e) {
			System.out.println("文本地址错误");
			e.printStackTrace();
		}

		BufferedReader br = null;
		BufferedWriter bw = null;
		String tem;
		try {
			br = new BufferedReader(new InputStreamReader(fis));
			bw = new BufferedWriter(new OutputStreamWriter(fos));

			while ((tem = br.readLine()) != null) {
				bw.write(tem);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				br.close();
				bw.flush();
				bw.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}
}
测试没啥问题
目 录 第一章 JAVA入门 10 计算机语言发展史 10 机器语言 10 汇编语言 10 高级语言 10 其他高级语言 11 JAVA发展简史 12 JAVA为什么能够流行? 13 JAVA各版本的含义 13 JAVA技术体系架构 14 JAVA的特性和优势 14 JAVA应用程序的运行机制 15 JVM(JAVA VIRTUAL MACHINE) 16 Java运行时环境JRE(Java Runtime Environment) 17 JAVA语言应用范围 18 第一个JAVA程序 18 JAVA开发环境搭建 18 一个典型的JAVA程序的编写和运行过程 19 第一个程序常见错误 20 第一个JAVA程序的总结和提升 20 常用Java开发工具 20 常用dos命令 21 本章笔试作业 21 本章上机操作 21 第二章(1) 编程的基本概念 22 注释 22 标识符 22 关键字/保留字 23 变量(variable) 24 常量(Constant) 25 命名规则(规范) 25 基本数据类型(primitive data type) 26 整型变量 26 浮点型 27 字符型(2个字节): 28 boolean类型 29 运算符(operator) 29 二元运算符 29 一元运算符 30 布尔逻辑表达符 30 位运算符 30 扩展运算符 31 字符串连接符 31 三目条件运算符 31 运算符优先级的问题 31 自动类型转换 32 基本类型转化时常见错误和问题 33 方法 33 简单的键盘输入和输出 33 本章思考作业 34 上机操作 34 第二章(2) 控制语句 35 顺序结构 35 选择结构 35 if单选择结构 35 if-else双选择结构 35 If-elseif-else多选择结构 36 switch多选择结构 37 循环结构 39 While和dowhile的区别 41 For循环 42 break语句和continue语句 47 语句块 48 递归结构 49 本章作业 50 本章上机操作 51 第三章 JAVA面向对象程序开发 52 编程语言发展史 52 类和对象是如何产生发展的?如何进化的? 52 面向对象思想初步(OOP初步Object Oriented Programming) 53 面向对象编程的语言的三大特征简介 56 对象和类的概念 56 类和对象初步 57 测试类的定义方式 57 简单的学生类编写示例 58 内存分析 59 属性(field,或者叫成员变量) 59 引用类型 60 类的方法 60 对象的创建和使用 60 构造器(或者叫做构造方法,constructor) 60 垃圾回收机制(Garbage Collection) 63 方法的重载(overload),构造方法的重载 63 this关键字 65 static 关键字 66 静态初始化块(经常用来初始化类,加载类信息时执行!) 67 package 68 JDK中的主要包 68 import 68 eclipse的使用 69 继承(extend, inheritance) 70 为什么需要继承?继承的作用? 70 继承介绍 70 如何实现继承? 70 继承使用要点 71 Object类 72 toString方法 72 equals方法 73 super关键字 74 方法的重写(override) 74 隐藏/封装(encapsulation) 75 为什么需要封装?封装的作用和含义? 75 使用访问控制符,实现封装 76 封装的使用细节 76 多态(polymorphism) 76 为什么需要多态? 76 如何实现多态? 77 方法绑定(method binding) 77 静态绑定 77 动态绑定 77 多态的使用要点 78 对象的转型(casting) 79 final 81 抽象类 82 抽象类的使用要点 83 接口 83 为什么需要接口? 84 如何定义接口? 84 接口的本质探讨 84 接口使用要点 85 接口的多继承 86 面向接口编程 87 OOP更多应用 87 组合 87 内部类(innerclasses) 88 字符串(java.lang.String类)的使用 90 字符串相等的判断 92 思考作业 93 上机作业 94 第四章 异常机制 95 导引问题 95 异常(Exception)的概念 96 异常分类 96 Error 97 Error和Exception的区别 97 Exception 97 异常的处理办法之一,捕获异常 99 try块 99 catch 99 finally 100 try, catch,finally ,return 执行顺序 100 异常的处理办法之二,声明异常

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧