File.IO流,异常总结

来源:互联网 发布:淘宝网饰品店 编辑:程序博客网 时间:2024/06/05 13:01

                                File, IO流,异常总结


  IO流

            input(输入流)output(输出流)

               根据处理数据类型的不同分为:字符流和字节流

              根据数据流向不同分为:输入流和输出流


            输入流:把数据从其他存储机制读入到当前内存机制当中
            输出流:把内存当中的数据写出到其他存储机制当中


              字节输入流抽象基类:Inputstream
              字节输出流抽象基类:OutputStream
               字符输入流抽象基类:Reader
              字符输出流抽象基类:Writer



原理存储机制:
           硬盘,内存, 缓存
             硬盘:大容量的存储机制,文件数据
             内存:运行中的程序数据
             缓存:屏幕中看到的数据
     流的流动方向:硬盘>内存> 硬盘

                        字节输入read(int)   read(byte[])

                                如何把字节数组转化为字符串:
        
                                     byte[] buf = new byte[5];

                字节输出writer (int)       writer[byte]

                    
             

                 FileInputStream <文件字节输入流>  
                 InputStreamReader<文件字符输入流>
                 BufferedReader<文件缓冲流>

字节和字符的概念:
       
          字节是计算机存储的最小单位(bit是计算机运行的最小单位)

          字符:一个英文等于一个byte 一个中文是2个byte

      

     字节流 :InputStream (输入流) OutputStream(输出流)

     字符流Reader    Write


        四个抽象类InputStreamOutputStreamReaderWriter

     入门流(文件字节输入输出):                    FileInputStream文件输入流)、                        

 FileOutputStream(文件输出流)


                          

              字节输入read(int)    read(byte[])

                                           如何把字节数组转化为字符串

 

             字节输出:write(int)   write(byte[])

              如何把字符串转化为字节数组:

 

            字符输入read(int)  read(char[])


                                                 

             字符输出write(int)  wirte(char[])

            如何把字符串转为字符数组

                                      

                     

         InputStream派生出实现子类如下图:


    



字节输出流的抽象基类为OutputStream

OutputStream
派生出实现子类如下图:




FileReader:





文件字符输出流 FileWriter:

文件字符输出流是对文件进行写入内容操作的类

是以字符方式进行写入文件内容,属于字符流




        FileInputStream:此抽象类是表示字节输入流的所有类的超类。



   FileOutputStream



   BufferedReader缓冲流





     File:

             指的是 文件或目录(文件夹)
             1.数据结构,数组 临时的
             文件,数据库   持久化

            File类是java中提供给程序操作硬盘文件的方式,可以来获取当前关联硬盘文件的相关属性,包括文件名、

           路径、大小、修改日期等。

       用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream


                  



                                       绝对路径从根目录开始的一个完整路径
                          相对路径绝对同一级目录的路径


                        强制转型:(student sut = new student();      
                          UNStudent stu = (UNStudent)stu;)
                            自动转型;子类对象自动转换为父类(student stu = new NUStudent();




异常:         Error 错误      Exception  异常

            注意:异常和错误的区别:异常能被程序本身可以处理,错误是无法处理。

                 异常分为 :受检异常  (非运行时检查到的异常)  非受检时的异常(运行时异常)


                Java异常特点:
               Java异常处理是面向对象处理方式
             一旦代码出现异常问题,JVM底层则会创建一个异常类相关的对象
               异常对象产生后,会根据代码对异常的处理机制进行操作,其中异常处理机制包括捕获异常和抛出异常两

              种,如果没有异常操作,则java程序会中断执行


               Java异常体系继承结构图:




         捕获异常处理机制try与catch:

           try{
            //可能出现异常的代码部分
             }catch(异常类型 异常变量){
             //执行异常操作
           }catch(异常类型 异常变量){
           //执行异常操作
           }…
            finally{
               //处理完try与catch操作后的收尾操作,异常统一出口
               }

           

         抛出异常处理机制:throw抛出异常对象:
                      此操作主要是对当前产生的异常对象进行抛出操作
                      常用的处理格式是结合try...catch和throws一起使用

                          public void test() throws 异常对象类型{
                              try{
                                       //存在异常的代码块
                           }catch(异常类型 变量名){
                                    throw 异常对象;
                       }
                 }


                            throw异常对象注意:
                       throw一般存在于catch语句当中,用于出现异常后的一种操作方式
                      捕捉的异常和抛出的异常不一定相同,可以不一样


       自定义异常:

            一般是自己定义一个类来扩展Exception类
                格式:public class 自定义异常类名 extends Exception{}
               自定义异常一般适用于throw代码块抛出



1 0
原创粉丝点击