美文网首页
java基础之IO

java基础之IO

作者: watayouxiang | 来源:发表于2017-05-13 22:29 被阅读6次

IO流

概念

  • 流按流向分为两种:输入流,输出流。
  • 流按操作类型分为两种:
    • 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的
    • 字符流 : 字符流只能操作纯字符数据,比较方便。

IO流分类

  • 字节流
    • InputStream(抽象类):字节输入流
      • FileInputStream(实现类):read() 读取一个字节
        • BufferedInputStream(装饰类):带缓冲区
    • OutputStream(抽象类):字节输出流
      • FileOutputStream(实现类):write(int) 写出一个字节
        • BufferedOutputStream(装饰类):带缓冲区
  • 字符流
    • Reader(抽象类):字符输入流;字符流读取字符, 需要把字节转为字符再读入
      • FileReader(实现类):read() 字符流读取字符, 需要把字节转为字符再读入
        • BufferedReader(装饰类):带缓冲区
    • Writer(抽象类):字符输出流
      • FileWriter(实现类):write() 字符流写出字符, 需要把字符转为字节再写出
        • BufferedWriter(装饰类):带缓冲区
  • 转换流
    • InputStreamReader:输入字节流转输入字符流;可指定码表
    • OutputStreamWriter:输出字节流转输出字符流;可指定码表

常见问题

  1. 字节流是可以写字符串,但是必须将字符串转换成字节数组写出去

     FileOutputStream fos = new FileOutputStream("a.txt");
     fos.write("你好".getBytes());
     fos.close();
    
  2. 字符流也可以拷贝文本文件, 但读取时要把字节转为字符, 写出时还要把字符转回字节

  3. flush方法与close方法的区别:

    • flush是用来刷新缓冲区的,刷完之后还可以写出
    • close方法是用来关闭流的,在关闭之前会刷新一次缓冲区,刷完之后关闭,不可以再写出
  4. BufferedReader的readLine()方法可以读取一行字符 (不包含换行符号)

  5. BufferedWriter的newLine()可以输出一个跨平台的换行符号 "\r\n"

相关文章

  • JavaSE 基础学习之五 —— IO 操作 (java. io

    接上篇《JavaSE 基础学习之四 —— 异常的处理》 五. JavaSE 基础学习 —— IO 操作 (java...

  • java基础之IO

    IO流 概念 流按流向分为两种:输入流,输出流。 流按操作类型分为两种:字节流 : 字节流可以操作任何数据,因为在...

  • Java基础之IO

    一、File类 File类是java.io包下代表与平台无关的文件或目录,你可以使用File类来新建、删除、重命名...

  • Java基础之IO流

    ##Java基础之IO流IO流常用几个类的关系如下: 字节流 字节输入流FileInputStream 读取文件用...

  • Java NIO

    一、基础概念 Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java ...

  • 一文带你精通Java I/O流,分分钟吊打面试官!

    Java IO概述 IO就是输入/输出。Java IO类库基于抽象基础类InputStream和OutputStr...

  • Java之IO流详解

    title: Java之IO流详解tags: Java IO流categories: Java IO流 大多数应用...

  • Java基础之IO流

    Java基础之IO流 简单介绍Java中有两种IO流,第一种是以Steam结尾的字节流,第二种是以Writer或者...

  • java基础之IO流(IO篇)

    I/O类库中使用“流”这个抽象概念。Java对设备中数据的操作是通过流的方式。表示任何有能力产出数据的数据源对象,...

  • java基础之IO流

    IO流上:概述、字符流、缓冲区(java基础) IO流结构图 FilterInputStream、FilterOu...

网友评论

      本文标题:java基础之IO

      本文链接:https://www.haomeiwen.com/subject/jtjfxxtx.html