黑马程序员技术交流社区
标题:
java.io问题,求好心人指点
[打印本页]
作者:
范二青年
时间:
2014-1-10 10:45
标题:
java.io问题,求好心人指点
import java.io.*;
public class TestFileReader{
public static void main(String args[]){
FileReader in= null;
try{
in = new FileReader("D:\\java\\TestFileReader.java");
}catch(FileNotFoundException f){
System.out.println("文件没找到!");
System.exit(-1);
}
try{
char b[] = new char[1024];
System.out.println(in.read(b));
System.out.println(b);
in.close();
}catch(IOException ie){
System.out.println("文件读取错误!");
}
}
}
其中read()方法返回值int不是指的是实际读取的数据吗?为什么System.out.println(in.read(b));没有输出实际读取的字节数?
作者:
apples_benben
时间:
2014-1-10 11:12
我测试是正确的啊,你再试试吧
作者:
75100313
时间:
2014-1-10 11:54
in.reab(b)
是把东西读到数组b里面
返回值 只是为了判断还有没有东西可以读 并不是说读到了什么东西
作者:
776699
时间:
2014-1-10 12:04
1,当你定义的缓冲区大小 小于你所读取的文件字节大小时,会打印出你缓冲区大小数;2,如果缓冲区大于文本字节数,会打印出读取到的字节数。
作者:
IT人
时间:
2014-1-10 13:20
Reader下的int read(char[] buf)是讲字符读入数组,存在数组当中,返回的是读取字符数,如果达到末尾就返回-1:
代码演示: FileReader in = new FileReader("d:\\Demo.txt");
例如:你定义一个数组:char[] buf = new char[4];
int num = in.read(buf);
如果Demo.txt文件里边的内容是abc,那么num = 3;如果内容是a,那么num=1;
并且你打印的方式也有错误。要把数组转换为String类型的对象。正确的打印是:
System.out.println(new String(b));
作者:
月生春
时间:
2014-1-10 18:47
read()方法读取的是字符啊, 返回的应对就是字符了,怎么肯呢过回事int值呢!
作者:
山治0712
时间:
2014-1-14 22:47
780个没错啊
作者:
放课后小朋友
时间:
2014-1-15 14:41
使用read方法返回的是int类型,并不是返回的字节数,而是返回的文本中的内容,虽然是int数据,但是可以被转换成该显示的内容
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2