zoukankan      html  css  js  c++  java
  • T6 s1 day19

    **********************************************************************
    IO流
    **********************************************************************
    回顾:
    1、Java异常处理机制
    try-cach-finally throw -throws
    执行过程
    两种异常
    运行时异常
    checked异常
    常见的异常类型都有哪些:
    自定义异常 继承Exception
    2、工具类
    String:charAt() split(",") length() subString() replace indexOf
    String str="abc"; 不可变字符串
    str=str+"def";
    System.out.println(str); //String 重写了Object中toString()方法
    StringBuffer append追加
    StringBuilder 非线程安全,效率更高

    Math类 数学方法
    Date SimpleDateFormat yyyy MM dd hh mm ss SSS
    Calendar 日历
    Arrays sort() binarySearch() toString

    调试debug
    【注意】方法的参数是基本类型和引用类型的区别

    Java集合框架:
    1、图谱 接口 实现类
    2、每种集合存放数据的特点
    ArrayList 非线程安全 效率高
    Vector 线程安全

    ArrayList LinkedList区别

    Set:无序 唯一 add()方法时

    key-value Map HashMap LinkedHashMap

    遍历集合:
    1、Set keys=集合.keySet();

    2、Set entry=集合.entrySet(); 迭代器

    3、foreach
    4、for

    今日内容:
    1、文件内容的读写
    字节流
    字符流完成

    流:程序和文件之间的通道
    字节流:通道里流动的是字节 byte
    InputStream 接口 FileInputStream 实现类 输入字节流
    OutputStream 接口 FileOutputStream 实现类 输出字节流

    字符流: 字符 char
    如何通过字节流的方式进行文件的读写:
    文件读取操作方式:
    1、逐个字节读取 一次读取一个
    2、读入一个字节数组 批量读,每次读取数组长度个

    原理:FileInputStream 有个position指针,记录当前读取的位置
    默认在文件开始,读取一个字节后,postition向后移动一字节,最后读取到的是-1

    字符流
    以字符为单位在流通道中传输
    FileReader类 字符输入流

    提升读取效率:缓冲的读写
    BufferedWriter 是 FileWriter 子类 提供了逐行写入功能
    BufferedReader 是 FileReader 子类 提供了逐行读取功能
    BufferedDemo

    作业1:
    DBConfig.conf
    db:{ip}
    dbname:{dname}
    username:{uname}
    pwd:{pwd}

    让用户输入对应的信息,接收后
    写入到对应的位置

    扩展:
    1、读取二进制文件
    2、阻塞IO 效率低
    NIO 非阻塞IO

    1、读取二进制文件

    IO流操作 是阻塞的,当一个流没有完成操作后,另一个流操作无法进行。
    阻塞的IO:效率低
    NIO:非阻塞的IO流
    缓冲区

    总结:
    File类
    流:通道
    FileInputStream
    FileOutputStream

    FileReader
    FileWriter

    BufferedReader
    BufferedWriter

    二进制

  • 相关阅读:
    String 类的常用方法都有那些?
    == 和 equals 的区别是什么
    java【Scanner,Random,ArrayList】的用法(了解80%~90%)
    java无参与有参以及setter和getter方法(练习题)【就事论事】
    java无参与有参以及setter和getter方法(了解)
    不能只学习,还得有玩
    java封装方法(了解)
    java数组,冒泡排序,选择排序(了解80%~90%)
    关于LDEA软件设置背景(详细)
    java运算符,判断符(了解)
  • 原文地址:https://www.cnblogs.com/wxcsz/p/10712248.html
Copyright © 2011-2022 走看看