IO编程

作者: 小船儿爱学习 | 来源:发表于2020-11-19 16:38 被阅读0次

概念

Java流式I/O类都包含在java.io包中。有各种不同的流类来满足不同性质的输入/输出需要。根据流中的数据单位不同,Java提供了字节流和字符流两个类的层次体系来处理输入/输出。

流(Stream):一个有序的字节序列。
输入流:从某种数据源(如键盘、磁盘文件、网络等)到程序的一个流,程序可以从这个流中读取数据。
输出流:从程序到某种目的地(如键盘、磁盘文件、网络等)的一个流,程序可以将这些信息写入到这个流。

字节流&字符流

字节流:面向字节的流,流中的数据以8位字节为单位进行读写。通常用于读写二进制数据,如图像和声音。
InputStream和OutputStream是抽象类,它们分别为字节输入和输出操作定义了方法,它们的子类重载或覆盖了这些方法。

输入/输出字节流类层次结构图.jpg
字符流:面向字符的流,流中的数据以16位字符为单位进行读写。特别注意的是,为满足国际化表示要求,Java的字符编码是采用16位表示一个字符的Unicode码,而普通的文本文件采用的是8位的ASCII码。
Reader和Writer是抽象类。它们分别为字符输入和输出操作定义了方法,它们的子类重载或覆盖了这些方法。这些方法与InputStream和OutputStream类定义的方法类似,只是读写的数据由8位byte数据变为了16位char数据。
输入/输出字符流层次结构图.jpg
其他流类:除InputStream、OutputStream、Reader、Writer类及其子类外,与流有关的类还有:File类、FileDescriptor类、StreamTokenizer类和RandomAccessFile类。
File类:是磁盘文件和目录的抽象表示,能够使程序获得一个文件或目录的信息。
FileDescriptor类:用于以构造文件描述符对象。程序一般不使用FileDescriptor类对象。
StreamTokenizer类:用于将任何InputStream分割为一系列“记号(Token)”。这些记号实际是一些断续的文本块,中间用我们选择的任何东西分隔。例如,我们的记号可以是单词,中间用空白(空格、回车、Tab等)以及标点符号分隔。
RandomAccessFile类:用于实现对随机访问文件的读取和写入。

注意的点

1、FileOutPutStream(String fileName,boolean append);

  • append = true:表示追加
  • append = false:表示覆盖

2、缓冲器的细节:Buffer由数据和可以高效地访问及操作这些数据的四个索引组成。四个索引是:mark(标记)、position(位置)、limit(界限)和capacity(容量)。

缓冲器的方法.jpg

3、java.lang.process:包含输入流、输出流、错误流。

process方法.png

相关文章

  • python文件

    IO在计算机编程中指的是输入和输出。IO编程中,Stream(流)是一个很重要的概念。IO有同步IO和异步IO两种...

  • IO编程

    读文件 字符编码 要读取非ASCII编码的文件,要以二进制模式打开,再解码。 Python还提供了一个codecs...

  • IO编程

    文件读写 由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无...

  • IO编程

  • IO编程

    IO在计算机中是指input/output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快...

  • IO编程

    文件读写 写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象...

  • IO编程

    IO在计算机中指Input/Output,也就是输入和输出。 读文件 要以读文件的模式打开一个文件对象,使用Pyt...

  • IO编程

    一、Java网络编程 https://www.runoob.com/java/java-networking.ht...

  • IO编程

    概念 Java流式I/O类都包含在java.io包中。有各种不同的流类来满足不同性质的输入/输出需要。根据流中的数...

  • IO编程

    一、网络编程基础知识 在网络环境上使用IO流进行数据传输 网络编程相关定义和实现,联网的底层细节被隐藏在 Java...

网友评论

      本文标题:IO编程

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