资讯专栏INFORMATION COLUMN

Java知识点总结(JavaIO- BufferedReader类 )

alanoddsoff / 1641人阅读

摘要:知识点总结类知识点总结类用于从缓冲区中读取内容,所有的输入字节数据都将放在缓冲区中中定义的构造方法只能接收字符输入流的实例,所以必须使用字符输入流和字节输入流的转换类将字节输入流转变为字符流。

Java知识点总结(JavaIO- BufferedReader类)

@(Java知识点总结)[Java, JavaIO]

[toc]

BufferedReader 类用于从缓冲区中读取内容,所有的输入字节数据都将放在缓冲区中

  Buffered 中定义的构造方法只能接收字符输入流的实例,所以必须使用字符输入流和字节输入流的转换类InputStreamReader 将字节输入流转变为字符流。


public class Demo10 {
 
  public static void add1() {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int i = 0;
    int j = 0;
    try {
      System.out.println("请输入第一个数字:" );
      i = Integer.parseInt(br.readLine());
      System.out.println("请输入第二个数字:" );
      j = Integer.parseInt(br.readLine());
    } catch (NumberFormatException | IOException e) {
      e.printStackTrace();
    }
 
    System.out.printf("%d+%d=%d",i,j, i + j);
  }
 
  public static void add2(){
    InputData input = new InputData();
    int i = input.getInt("请输入第一个数字:" , "输入的数据必须为数字,请重新输入!" );
    int j = input.getInt("请输入第二个数字:" , "输入的数据必须为数字,请重新输入!" );
    System.out.printf("%d+%d=%d",i,j, i + j);
  }
  
 
  
  public static void main(String[] args) {
    //add1();
    add2();
  }
 
}
 
/**
 * 封装屏幕输入数据算法的类
 * 在实际开发中很难一次性设计出完整的类,首先要完成基本功能的实现
 * 可以对此类进行扩展,实现整数、小数、字符串、日期类型的输入
 * @author gs
 *
 */
class  InputData{
  private BufferedReader bf ;
  public InputData() {
    bf = new BufferedReader(new InputStreamReader(System.in));
  }
 
  public String getString(String info){
    System.out.println(info);
    String str = "";
    try {
      str = bf.readLine();
    } catch (IOException e) {
      e.printStackTrace();
    }
    return str;
  }
  
  public int getInt(String info,String err){
    int temp = 0;
    boolean flag = true;
    String str = "";
    while(flag){
      str = this.getString(info);
      if (str.matches("^d+$")) {
        temp = Integer.parseInt(str);
        flag = false;
      }else {
        System.out.println(err);
      }
    }
    return temp;
  }
}


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69169.html

相关文章

  • 从一段代码谈起——浅谈JavaIO接口

    摘要:缓冲输入流从被称为缓冲区的存储器区域读出数据仅当缓冲区是空时,本地输入才被调用。同样,缓冲输出流,将数据写入到缓存区,只有当缓冲区已满才调用本机输出。 :https://segmentfault.com/blog... 1.前言 前阵子休息天日常在寻找项目里不好的代码,看到了这样的一段代码: private Result sshSameExec(Session session,...

    pkwenda 评论0 收藏0
  • JavaIO

    摘要:是字节流通向字符流的桥梁它使用指定的读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。为了达到最高效率,可要考虑在内包装。 JAVA缓冲区就是先读一些数据在内存中间或者先写一部分数据在内存中。比如写,不是每次写数据到磁盘, 而是先把数据写到内存中,等到内存的缓冲区满了再一次写入磁盘,减少磁盘访问。JAVA读取大文需要使用radomAcces...

    Fundebug 评论0 收藏0
  • Java识点总结JavaIO-File

    摘要:知识点总结类知识点总结类类可以进行创建和删除文件等操作。使用一个类,则必须向类的构造方法中传递一个文件路径。 Java知识点总结(JavaIO-File类) @(Java知识点总结)[Java, JavaIO] [toc] File类 File类可以进行创建和删除文件等操作。使用一个File类,则必须向File类的构造方法中传递一个文件路径。 showImg(https://segme...

    KavenFan 评论0 收藏0
  • Java识点总结JavaIO- Scanner

    摘要:知识点总结类知识点总结后提供的输入数据类,此类位于包中,不仅可以完成输入数据的操作,还可以方便地对输入数据进行验证。 Java知识点总结(JavaIO- Scanner类 ) @(Java知识点总结)[Java, JavaIO] showImg(https://segmentfault.com/img/bV9dAj?w=838&h=396); JDK 1.5后提供的输入数据类,此类位于...

    CarlBenjamin 评论0 收藏0
  • JavaIO :JavaIO输入输出流

    摘要:下面我们使用字节输入输出流来说明这个问题输入流一般是由对象如建立的,当新建一个时,对象建立了一个包含有数据的管道其实就是我们所说的这个流并将对象存储的数据输入到管道中,因此管道里的数据流就是对象内的数据。 流的原理: showImg(/img/bVqa89); 一连串有顺序的数据系列可以看成是一个流。 输入输出流: 数据从IO输入到程序的流是输入流,数据从程序输出到IO的流是输出流。 ...

    CloudwiseAPM 评论0 收藏0

发表评论

0条评论

alanoddsoff

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<