当前位置:网站首页 > Java基础 > 正文

java大学基础胶层



 /*在整个Java.io包中最重要的就是5个类和一个接口。
 5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.*/
​
主要的类如下:
     1. File(文件特征与管理):用于文件或者目录的描述信息,例如生成新目录,修改文件名,删除文件,判断文件所在路径等。
     2. InputStream(二进制格式操作):抽象类,基于字节的输入操作,是所有 [字节] 输入流的父类。定义了所有 [字节] 输入流都具有的共同特征。
     3. OutputStream(二进制格式操作):抽象类。基于字节的输出操作。是所有 [字节] 输出流的父类。定义了所有 [字节] 输出流都具有的共同特征。
    
   
    
    
 Java中字符是采用Unicode标准,一个字符是16位,即一个字符使用两个字节来表示。为此,JAVA中引入了处理字符的流。
     1. Reader(文件格式操作):抽象类,基于字符的输入操作,是所有 [字符] 输入流的父类。定义了所有 [字符] 输入流都具有的共同特征。。
     2. Writer(文件格式操作):抽象类,基于字符的输出操作,是所有 [字节] 输出流的父类。定义了所有 [字符] 输入流都具有的共同特征。
 
     
Serializable:序列化接口
如果想将对象序列化,那么对象的类型必须实现此接口。
​

流:
​
​
输入(input):程序可以从中读取数据 //--读
输出(output):程序能向其中写入数据//--写
​
    
按流向分: 
输入流: 程序可以从中读取数据的流 //  InputStream  (程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道)
    
输出流: 程序能向其中写入数据的流//   OutputStream (程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。)
    
    
    
按数据传输单位分: 
字节流: 以字节为单位传输数据的流 
字符流: 以字符为单位传输数据的流 , Java中的字符是Unicode编码,一个字符占用两个字节。
​
按功能分: 
节点流: 用于直接操作目标设备的流 
过滤流: 是对一个已存在的流的链接和封装,通过对数据进行处理为程序提供功能强大、灵活的读写功能。 
    
  对象流:  
ObjectOutputStream:对象输出流       ObjectOutputStream(OutputStream out)创建一个指定字节输出流的对象输出流对象。
ObjectIntputStream:对象输入流       ObjectIntputStream(OutputStream out)创建一个指定字节输入流的对象输入流对象。
 
​
    
​

IO流的四大抽象类:
1.常见InputStream类(读数据)
        //低级
        InputStream  //是所有输入流的父类。定义了所有输入流都具有的共同特征。
        FileInputStream // FileInputStream流被称为文件字节输入流,意思指对文件数据以字节的形式进行读取操作如读取图片视频等
        ByteArrayInputStream
        PipedInputStream
        //高级
        DataInputStream
        BufferedInputStream //缓冲字节输入流  用于加速传输数据
2.常见OutputStream(写数据)
        //低级
        OutputStream            //是所有输出流的父类。定义了所有输出流都具有的共同特征。
        FileOutputStream        //FileInputStream流被称为文件字节输出流,意思指对文件数据以字节的形式进行写入操作如写入图片视频等
                              //类用来创建一个文件并向文件中写数据。
                              //在打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
        ByteArrayOutputStream  
        PipedOutputStream
       //高级
         DataOutputStream
         BufferedOutputStream  //缓冲字节输出流  用于加速传输数据  
         
         
3.常见的Reader类
        //低级
         CharArrayReader
         StringReader
         PipedReader
         FileReader             //文件读取流
        //高级
         BufferedReader         //缓冲字符流,用于加快读取字符的速度
         InputStreamReader      //缓冲字符输入流
         LineNumberReader
         
         
4.常见的Writer相关类
        //低级
        CharArrayWriter
        StringWriter
        PipedWriter
        FileWriter              //文件写入流
        //高级
        BufferedWriter          //缓冲字符流,用于加快写入字符度
        OutputStreamWriter      //缓冲字符输出
        PrintWriter
    
​

对象流-------序列化与反序列化:
对象流(Object):有的时候,我们可能需要将内存中的对象持久化到硬盘上,或者将硬盘中的对象信息读到内存中,这个时候我们需要使用对象输入输出流。    
​
​
序列化   是把对象的状态信息转化为可存储或传输的形式过程,也就是把对象转化为字节序列的过程称为对象的序列化
( Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对象可以被写到数据库或文件中,也可用于网络传输)
反序列化 是序列化的逆向过程,把字节数组反序列化为对象,把字节序列恢复为对象的过程成为对象的反序列化
​
 java大学基础胶层 对象流:(属于java.io.Object包)  
ObjectOutputStream:对象输出流       ObjectOutputStream(OutputStream out)创建一个指定字节输出流的对象输出流对象。
ObjectIntputStream:对象输入流       ObjectIntputStream(OutputStream out)创建一个指定字节输入流的对象输入流对象。
​
/*Serializable:序列化接口
如果想将对象序列化,那么对象的类型必须实现此接口。
*/

字节流:

以字节为单位传输数据的流

在Java中,字节流一般适用于处理字节数据(诸如图片、视频),字符流适用于处理字符数据(诸如文本文件),但二者并没有严格的功能划分,因为有转换流的存在,使得对于数据的处理变得更加灵活。
InputStream和OutputStream分别是字节输入流与字节输出流的基类,它们的子类都是字节流,主要用在按字节来处理二进制数据。
​
​
InputStream:此抽象类是表示字节输入流的所有类的超类。
FileInputStream:用于读取文件系统的文件的输入流。
​

字符流:

以字符为单位传输数据的流

  • 上一篇: 07java基础教程
  • 下一篇: java作业零基础
  • 版权声明


    相关文章:

  • 07java基础教程2024-10-17 22:58:03
  • java期末基础知识2024-10-17 22:58:03
  • java基础试题库2024-10-17 22:58:03
  • java中spring框架基础2024-10-17 22:58:03
  • java考试编程基础2024-10-17 22:58:03
  • java作业零基础2024-10-17 22:58:03
  • 0基础学java文本2024-10-17 22:58:03
  • java基础面试题20182024-10-17 22:58:03
  • java从基础到放弃2024-10-17 22:58:03
  • java基础小白竖屏2024-10-17 22:58:03