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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈春 中级黑马   /  2013-7-30 23:46  /  1261 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨兴庭 于 2013-7-31 23:16 编辑

什么fileread要接着上一次的读?求详解

评分

参与人数 1黑马币 +3 收起 理由
杨兴庭 + 3 赞一个!

查看全部评分

4 个回复

倒序浏览
我怎么看不懂啊!!{:soso_e150:}
回复 使用道具 举报
它里面有个指针,记录读取的位置,每次读取自动后移,
FileReader fr = new FileReader("data.txt");  
   //调用读取流对象的read方法
   //read()方法一次只读一个字符,而且会自动向下读。   
   int ch=0;   
   while((ch=fr.read())!=-1)   //每次读一个字符,指针后移到下一字符
   {
      sop((char)ch);
   }
或:
String s1=null;
while((s1=bfr.readLine())!=null)       //每次读一行,指针后移到下一行
System.out.println(s1);
亦或:BufferedInputStream in=new BufferedInputStream(new FileInputStream("pic.jpg"));
byte[] bytes=new byte[1024];
int len=0;
while((len=in.read(bytes))!=-1){               //每次读bytes个字节,len为实际读取的长度,指针后移len
   .......................................
}

一般的流都是这样,
特殊的有RandomAccessFile,它有seek方法,可以改变读取的位置



评分

参与人数 1技术分 +1 收起 理由
杨兴庭 + 1

查看全部评分

回复 使用道具 举报
黄兴旺 发表于 2013-7-30 23:53
我怎么看不懂啊!!

很简单,就是指针为什么要记住每次读取的位置。
回复 使用道具 举报
lkjghvcx@163.co 发表于 2013-7-31 10:26
它里面有个指针,记录读取的位置,每次读取自动后移,
FileReader fr = new FileReader("data.txt");  
    ...

恩恩。谢谢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马