黑马程序员技术交流社区
标题:
FileReader对象问题求解
[打印本页]
作者:
狼牙
时间:
2013-7-27 07:27
标题:
FileReader对象问题求解
为什么FileReader对象只能使用一次,当第二次使用时,就会出现问题(问题是第二次无法正常输出,文件内容全部为中文)?
我写的是这样的一段代码:我的思路是两个方法共用一个FileReader对象,用法不同的读取方法把文件中的中文数据输出打印。
可是,当我把任意一个方法注释掉后都可以正常运行,当两个方法同时使用时就会出现问题,第二个方法无法正常输出;
我在想为什么数据库连接对象就可以共用,为什么FileReader对象不可以共用?路过的大神们请留言相告!先谢谢各位!!
System.out.println("方法一:");
FileReader f=new FileReader("D:\\IO.txt");
int ch=0;
while((ch=f.read())!=-1)
{
System.out.print((char)ch);
}
System.out.println("\r\n\r\n方法二:");
char[] buf=new char[5];
int num=0;
while((num=f.read(buf))!=-1)
{
System.out.print(new String(buf,0,num));
}
f.close();
作者:
刘张朋
时间:
2013-7-27 14:12
我认为在读取文件的时候有一个指针指向流读取的位置,当你第一次已经读取完成后,指针已经指向了文件末尾,那肯定就读不到文件了
作者:
luckwei
时间:
2013-7-27 17:38
两种方法同时调用时,第一个方法运行完了之后,把文件读取完后,FileReader对象的指针就指向了文件的末尾,在用read()方法时,就没有 程序可读了,就只打印出 方法二:没有内容
作者:
狼牙
时间:
2013-7-28 09:51
luckwei 发表于 2013-7-27 17:38
两种方法同时调用时,第一个方法运行完了之后,把文件读取完后,FileReader对象的指针就指向了文件的末尾, ...
原来如此!受教啦!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2