zoukankan      html  css  js  c++  java
  • 2020.8.5

    一、今日学习内容:

     1、缓冲流:缓冲流的原理是将数据先缓冲起来,然后一起写入或读取出来,使用缓冲流读写文件非常高效,常用的缓冲流有以下几种: BufferedReader. BufferedWriter. BufferedInputStream和BufferedOuputStream。

     BufferedReader 与BufferedWriter比较:

     BufferedReader属于字符流,如果要想使用BufferedReader就需要将一个字节流变成字符流,为了解决这样的问题,在Java中提供了以下两个转换类。

    1) InputStreamReader
    2)OutputStreamWriter
     注:在BufferedReader类中提供了一个专门的读取操作。

     (2)BufferedInputStream 与BufferedOuputStream

    使用BufferedInputStream 和BufferedOutputStream 通常用来读取或写入影像数据。

    2.Scanner类:

    (1)简单来说,Scanner就是用来获取用户在控制台输入的字符串,也可以获取一个文件中的字符串。

    (2)官方点的话来说就是:java.util.Scanner 是 Java5 的特征,一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

    使用方法:

    使用不同的 next 方法将得到的标记转换为不同类型的值,比如说要从获控制台取一个输入字符串中的int类型的数字,使用nextInt。

    1.  
      Scanner sc = new Scanner(System.in);
    2.  
      int i = sc.nextInt();

    如果需要从一个名文为numbers件中去获取long 类型的数字。

    1.  
      Scanner sc = new Scanner(new File("numbers"));
    2.  
      while (sc.hasNextLong()) {
    3.  
      long longNumber = sc.nextLong();
    4.  
      }
      获取指定内容:

    比如删去字符串 :  1 fish 2 fish red fish blue fish 中的 fish和空格。

    1.  
      String input = "1 fish 2 fish red fish blue fish";
    2.  
      // 使用正则匹配的方式获取想要的内容
    3.  
      Scanner s = new Scanner(input).useDelimiter("\s*fish\s*");
    4.  
      System.out.println(s.nextInt());
    5.  
      System.out.println(s.nextInt());
    6.  
      System.out.println(s.next());
    7.  
      System.out.println(s.next());
    8.  
      // 打开文件之后切记要关闭
    9.  
      s.close();
      实例:
    1.  
      public static void main( String[] args )
    2.  
      {
    3.  
      if(args!=null){
    4.  
      println("命令行参数:");
    5.  
      for(String s:args){
    6.  
      println(s);
    7.  
      }
    8.  
      }
    9.  
      Scanner input = new Scanner(System.in);
    10.  
      print( "input x exist。" );
    11.  
      String str = null ;
    12.  
      do{
    13.  
      println("");
    14.  
      print(":");
    15.  
      str = input.next();
    16.  
      System.out.println("您输入的是:"+str);
    17.  
      }while(!"x".equalsIgnoreCase(str));
    18.  
      System.out.println("你输入了"x",程序已经退出!");
    19.  
      input.close(); // 关闭资源
    20.  
      }
    21.  
       
    22.  
      public static void println(String msg){
    23.  
      System.out.println( msg );
    24.  
      }
    25.  
       
    26.  
      public static void print(String msg){
    27.  
      System.out.print( msg );
    28.  
      }

     二、遇到的问题:

     Scanner类的代码尝试不理解。

    三、明日计划:

    继续学习第十二章的内容。


           

  • 相关阅读:
    (黑马十次方项目day06)@ConfigurationProperties报错的解决方式
    (黑马十次方项目day04)An attempt was made to call a method that does not exist. The attempt was made from the following location:
    (黑马十次方项目day02)使用map接收form表单的参数
    (黑马十次方项目day02)IDEA在方法之间添加分隔符及开启Run Dashboard管理
    (黑马十次方项目day01)spring-boot-starter-parent 包maven依赖报错
    (黑马十次方项目day01)从PDF文件中复制代码到pom文件中project报错
    ER图学习
    java 8 函数式库Vavr功能
    Guava Cache
    UML学习
  • 原文地址:https://www.cnblogs.com/marr/p/13451929.html
Copyright © 2011-2022 走看看