黑马程序员技术交流社区

标题: 新人,问题,代码,求解。 [打印本页]

作者: jian叫兽    时间: 2014-12-29 13:31
标题: 新人,问题,代码,求解。
FileReader fr=new FileReader("xx.txt");
char[] ch=new char[1024];
int num=0;
while((num=fr.read(ch))!=-1)
{
System.out.print(new String(ch,0,num));
}
fr.close();
如果该文件长度大于1024,那此代码打印的结果是否以文件格式相同?(主要内容,其它没写,希望大神看懂。)


作者: xiao飞    时间: 2014-12-29 13:54
一般都是用字节(byte),而不是字符(char) ,  如果你的文件大与1024 ,你可以把范围定大点,不用定那么小的
作者: yninggis    时间: 2014-12-29 14:13
文件长度大于1024没关系,因为你是在循环读取的,当剩余文件内容大于1024个字符时,一次读取1024个字符,并打印,直到读完文件内容为止。打印的结果是字符形式的,不了解的指定文件格式是啥意思。
作者: jian叫兽    时间: 2014-12-29 14:24
xiao飞 发表于 2014-12-29 13:54
一般都是用字节(byte),而不是字符(char) ,  如果你的文件大与1024 ,你可以把范围定大点,不用定那么小 ...

我意思是读文本,范围大小定义比文本小的话,打印的结果和文本格式一样么?
作者: jian叫兽    时间: 2014-12-29 14:40
yninggis 发表于 2014-12-29 14:13
文件长度大于1024没关系,因为你是在循环读取的,当剩余文件内容大于1024个字符时,一次读取1024个字符,并 ...

比如复制记事本,如果该记事本内容大于定义的1024,那复制后的记事本内容格式会一样吗?
作者: 后悔药    时间: 2014-12-29 17:02
不明白什么叫“文本格式”,不过看出来楼主对IO缓存这块没搞透彻,代码没什么问题,打印的内容就是文本的内容
作者: rnyrnyrny    时间: 2014-12-29 17:39
格式符号在文本中也是以字符形式存在的,比如在windows中换行符是\r\n,这些符号也会被读取写入的
作者: 沐沐远去    时间: 2014-12-29 22:47
本帖最后由 沐沐远去 于 2014-12-29 22:58 编辑

自己输出一下 结果不就知道了么。  程序员需要自己调试
作者: Android周    时间: 2014-12-30 23:09
格式符号在文本中也是以字符形式存在的
作者: Android周    时间: 2014-12-30 23:10
格式符号在文本中也是以字符形式存在的
作者: yedaiwang    时间: 2014-12-31 09:22
h好厉害的样子




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2