JAVA SE基础篇46.IO流的介绍

Posted Kuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA SE基础篇46.IO流的介绍相关的知识,希望对你有一定的参考价值。

1.IO流的介绍

IO流,I代表input--输入,O代表output--输出,流代表数据,在计算机中以字节存储,这里的流就是字节流。

但是我们平时使用的是英文/数字/汉语,这些都是字符,我们也可以直接操作字符,就是字符流。

流:流动,流向,从一端流向另一端。在计算机中,就是在程序和数据源(存储数据介质的地方)中间的管道,这个管道就是IO流。

IO流是抽象、动态的概念,是一连串连续动态的数据集合。

数据源:提供原始数据的原始媒介,例:数据库、文件、其他程序、内存、网络连接、IO设备。

IO流中永远把程序看作中心,进来就是输入流,出去就是输出流

整个java.io包中最重要的就是5个类和3个接口

1.File:文件类

2.InputStream:字节输入流

3.OutputStream:字节输出流

4.Reader:字符输入流

5.Writer:字符输出流

6.Closeable:关闭流接口

7.Flushable:刷新流接口

8.Serializable:序列化接口

2.流分类

1.流分类(按流向分类):

输入流:数据源到程序(InputStream、Reader读进来)

输出流:程序到目的地(OutputStream、Writer写进来)

数据源➡程序(输入流➡中转站➡输出流)➡目标位置

2.流分类(按功能分类):

节点流:可以直接从数据源或者目的地直接读写数据

处理流(包装流):不直接连接到数据源或目的地,是其他流进行封装。目的是简化操作和提高性能。

节点流和处理流关系:

1.节点流处于io操作一线,所有操做必须通过他们进行

2.处理流可以对其它流进行处理。

3.流分类(按数据分类)

1.字节流:按照字节读取数据

2.字符流:按照字符读取数据,因为文件编码不同,从而有了对字符进行高效操作的字符流对象

字符流原理:底层还是基于字节流,自动搜寻了指定的码表。

3.File类的构建

File是文件和目录路径名的抽象表示

 1.文件路径名的书写

在windows中路径名由\\分割,而java程序不一定都在windows上运行,可能会不识别分隔符

所以统一使用/作为名称分隔符,或者使用\\\\作为分隔符,\\\\是/的转义字符。

例:

 2.构建file类

构造器的参数可以直接为文件路径

也可以有两个参数,第一个参数是文件父类路径,第二个参数为文件名。

或者第一个是文件父类路径的对象,第二个参数是文件名

例:

 

 3.相对路径和绝对路径

文件路径分为相对路径和绝对路径

绝对路径存在盘符,相对路径不存在盘符,一般相对路径都相对与当前工程文件(user.dir)

注:一般都用相对路径,因为绝对路径是依附于电脑上的,不稳定存在。

例:

 

以上是关于JAVA SE基础篇46.IO流的介绍的主要内容,如果未能解决你的问题,请参考以下文章

Java SE之基础篇——面向对象

Java SE之基础篇——ArrayList类详解

Java SE之基础篇——方法

JAVA SE基础篇54.多线程介绍和创建

Java SE之基础篇——IDEA中DeBug调试以及综合案例练习

Java SE之基础篇——IDEA中DeBug调试以及综合案例练习