黑马程序员技术交流社区
标题:
IO变量声明和存储问题
[打印本页]
作者:
李健09
时间:
2013-8-17 13:51
标题:
IO变量声明和存储问题
本帖最后由 李健09 于 2013-8-18 10:10 编辑
package com.IO;
/*
第二种方式:通过字符数组进行读取
*/
import java.io.*;
public class IOFileReaderZFSZ
{
public static void main(String[] args)
{
FileReader fr=null;
try
{
fr=new FileReader("demo.txt");
char[] buf=new char[1024];
int num=0;
while((num=fr.read(buf))!=-1)
{
sop(new String(buf,0,num));
}
}
catch(IOException e)
{
sop(e.toString());
}
finally
{
try
{
fr.close();
}
catch(IOException e)
{
sop(e.toString());
}
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
/*fr=new FileReader("demo.txt");
char[] buf=new char[1024];
int num=0;
while((num=fr.read(buf))!=-1)
{
sop(new String(buf,0,num));
}*/
//问下 num=fr.read(buf))!=-1 中num 是fr.read方法返回读取的个数吗? buf是吧这个个数存放到数组中还是把fr.read方法读取的数据放到数组中?
//帮忙解释下这几个关系 谢了
作者:
未知数|X|
时间:
2013-8-17 18:34
其实你把num打印出来你就会知道,它代表的其实就是你每次读到的数据总数,如果你文本文件中有abcde,当你读取出来时num其实就是5,通过这个就可以知道你后面的那个答案我们如果把总数存进数组的话是没有什么意义的,你如果不用循环方式把它一个一个打印出来你就会发现它其实读取到的是ascii码,然后进行转换输出来的 希望对你有所帮助
作者:
☆今☆
时间:
2013-8-17 22:33
num是fr.read()方法返回的读取数据的个数.也就是buf数组中存储的个数.
buf数组是fr.read()读的数据,是先把数据读到buf数组中,再一次写出去.
作者:
李健09
时间:
2013-8-18 10:09
谢了{:soso_e183:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2