A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jian叫兽 中级黑马   /  2014-12-29 13:31  /  1318 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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,那此代码打印的结果是否以文件格式相同?(主要内容,其它没写,希望大神看懂。)

10 个回复

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

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

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

自己输出一下 结果不就知道了么。  程序员需要自己调试

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

回复 使用道具 举报
格式符号在文本中也是以字符形式存在的
回复 使用道具 举报
格式符号在文本中也是以字符形式存在的
回复 使用道具 举报
h好厉害的样子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马