`
zg973595977
  • 浏览: 11406 次
社区版块
存档分类
最新评论

自己编写BufferedReader中的readLine方法

    博客分类:
  • java
阅读更多

import java.io.*;
/*
readLine方法的原理是将除回车符以外的字符全部存储到一个字符数组中(本例中用StringBuilder代替),等到读完一行后将其返回
自己编写一个BufferedReader对象中的readLine方法
*/
class MyReaderLine{
 private FileReader r;
 MyReaderLine(FileReader r){
  this.r=r;
 }
 public String myReaderLine() throws IOException{
  //StringBuilder用于暂时存储read方法读取的一个一个的字符,等到读完一行之后将其返回
  StringBuilder sb=new StringBuilder();
  int ch=0;
  while((ch=r.read())!=-1){
   //遇到回车符之后继续读取
   if(ch=='\r')
    continue;
   //遇到换行符就要将本行读取到的所有字符全部返回
   if(ch=='\n')
    return sb.toString();
   else
    sb.append((char)ch);
  }
  if(sb.length()!=0)
   return sb.toString();
  return null;
 }
 
 public void myClose() throws IOException{
  r.close();
 }
 
}
class demo{
 public static void main(String args[]) throws IOException{
  //实验前先建立一个文档用于读取其中的字符串
  FileReader fr=new FileReader("123.txt");
  MyReaderLine mr=new MyReaderLine(fr);
  String line=null;
  while((line=mr.myReaderLine())!=null){
   System.out.println(line);
  }
  mr.myClose();
 }
}

分享到:
评论

相关推荐

    编写简单的代理服务器(java源码)

    代理服务器打开一个端口接收浏览器发来的访问某个站点的请求,从请求的字符串中解析出用户想访问哪个网页,让后通过URL对象建立输入流读取相应的网页内容,最后按照web服务器的工作方式将网页内容发送给用户浏览器 ...

    Fibonacci_int

    Fibonacci int PrintWriter BufferedWriter FileWriter Integer.parseInt BufferedReader InputStreamReader System.in readLine

    用JAVA实现复数的四则运算

    BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.println("请输入第一个复数的实部:"); try{ s = in.readLine(); a=Double.parseDouble(s); } catch(IOException e)...

    JAVA的剪刀石头布游戏设计方案.doc

    构造创建服务器端和客户端 创建输入输出流 编写服务器端处理数据的线程方法 绘制游戏界面 绘制界面上的提示 采用此方法设计使程序简洁明了,使绘制游戏界面时简单化,更加易于游戏的实现, 程序也更易于读懂。...

    实例教程1小时学会Python

    • 编写一个main方法 • 将之编译成字节代码 • 由于字节代码不能直接运行,你需要再写个小小的bat或者bash脚本来运行. 当然,用C/C++同样能完成这项工作.但C/C++不是跨平台语言.在这个足够简单的例子中也许看不出C/...

    AwesomeSockets-1:一个使服务器套接字通信更容易的 Java 库

    我在50.003: Elements of Software Construction中学习了服务器和套接字,当我收到一个包含许多实例的问题时,最简单的解决方案是重用代码来启动服务器和套接字。 这是令人难以置信的痛苦和冗长。 打开服务器并接受...

    冒泡排序 算法(冒泡,选择,插入,数组排序)

    BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); for(int i =0;i;i++){ a[i]=Integer.parseInt(br.readLine()); //a[i]=Integer.parseInt(args[i]); } /* /...

    myeclipse7.0

    (我觉得这是最好用的一种方法!) 4.注册码:(填写注册码时,最好拔掉网线!!!) Subscriber: www.1cn.biz Subscription Code: jLR8ZC-655444-65526656052107345 或者可以编写如下代码生成自己的MyEclipse7.0...

    用java编写的记事本,基本功能都实现了啊!

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.BorderFactory; ...

    人民币小写转大写(Java 实现)

    * 处理带小数的金额,整数部分交由上一个方法处理,小数部分自己处理 * @param integer * @param decimal * @return String * @throws Exception */ public static String praseUpcaseRMB(String integer...

    java语言程序设计课后习题答案解析.doc

    BufferedReader bfReader=new BufferedReader; String input=bfReader.readLine; int length=input.length<>-1; int n=new Integer<input>.intValue; while<length>=0>{ int divisor=<int> Math.pow,length>; ...

    java解析给定url

    * 现在要求用Java编写一个程序,该程序访问上面的URL,并从页面中, * 提取出上图所示位置的页面信息(仅图中所要求的内容),将其内容按如下格式,输出到控制台 * GrapWeatherInfo * @author lihsh * @version ...

    Java 2实用教程(第三版)实验指导与习题解答

    实验1 String类的常用方法 19 实验2 比较日期的大小 21 实验3 处理大整数 22 上机实践6 组件及事件处理 23 实验1 算术测试 23 实验2 信号灯 25 实验3 布局与日历 28 上机实践7 组件及事件处理2 31 实验1 方程求根 31...

Global site tag (gtag.js) - Google Analytics