黑马程序员技术交流社区

标题: 模拟缓冲区 [打印本页]

作者: 郑小杰    时间: 2012-8-6 15:55
标题: 模拟缓冲区
  1. //模拟BufferedReader

  2. package buffer;

  3. import java.io.FileNotFoundException;
  4. import java.io.FileReader;
  5. import java.io.IOException;

  6. class MyBufferedReader {
  7. private FileReader r;

  8. MyBufferedReader(FileReader r)
  9. {
  10. this.r = r;

  11. }

  12. //可以一次读一行的方法
  13. public String myReadLine() throws IOException
  14. {
  15. //定义一个临时容器StringBuilder
  16. StringBuilder sb = new StringBuilder();
  17. int ch = 0;
  18. while((ch=r.read())!=-1)
  19. {
  20. if(ch=='\r')
  21. continue;
  22. if(ch=='\n')
  23. return sb.toString();
  24. else
  25. sb.append((char)ch);
  26. }


  27. if(sb.length()!=0)
  28. return sb.toString();
  29. return null;

  30. }
  31. public void myClose() throws IOException
  32. {
  33. r.close();

  34. }



  35. }

  36. class MyBufferedReaderDemo
  37. {
  38. public static void main(String[] args) throws IOException {
  39. // TODO Auto-generated method stub
  40. FileReader fr = new FileReader("demo.txt");
  41. MyBufferedReader myBuf = new MyBufferedReader(fr);

  42. String line = null;
  43. while((line = myBuf.myReadLine())!=null)
  44. {
  45. System.out.println(line);
  46. }

  47. myBuf.myClose();
  48. }



  49. }
复制代码
为什么代码在EditPlus里可以把demo.txt的文件读出来,而在Eclipse里面不行?什么原因


作者: 黑马振鹏    时间: 2012-8-6 16:04
代码木有问题,我测试了!
我估计一下楼主可能是这个地方有问题,可能是路径搞错了:
FileReader fr = new FileReader("demo.txt");
你先换个绝对路径试试,应该可以的。
作者: 郑小杰    时间: 2012-8-6 17:52
黑马振鹏 发表于 2012-8-6 16:04
代码木有问题,我测试了!
我估计一下楼主可能是这个地方有问题,可能是路径搞错了:
FileReader fr = new  ...

绝对路径也不行
作者: 黑马振鹏    时间: 2012-8-6 18:05
郑小杰 发表于 2012-8-6 17:52
绝对路径也不行

加我QQ 649344766
作者: 郑小杰    时间: 2012-8-6 20:14
问题已解决
作者: 黑马-张化    时间: 2012-8-6 20:23
不要这样吗??? 一看你的路径错了、、给我点技术分撒???




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