Java中IO流,File,异常

来源:互联网 发布:电脑裁剪图片软件 编辑:程序博客网 时间:2024/06/16 15:48

                                                                                     Java中IO流,File,异常


IO流

              input (输入)output(输出)

 原理

存储机制
           硬盘,内存, 缓存

            硬盘:大容量的存储机制,文件数据

       内存:运行中的程序数据

       缓存:屏幕中看到的数据

      流的流动方向:硬盘>内存> 硬盘

 流的机制

                流的划分


                          根据传输介质:字符和字节

               根据传输方向:输入和输出(内存的角度)

               要从硬盘吧数据映入到内存:输入

               要从硬盘吧数据传入到内存:输出


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

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




       四个抽象类:InputStreamOutputStreamReaderWriter

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



                      字节流InputStream :输入流

             

                

              OutputStream:输出流

          


FileReader:



FileWriter:

 


FileInputStream字节输入

       


FileOutputStream字节输出





  BufferedReader缓冲流

                从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

               可以指定缓冲区的大小,或者可使用默认的大小。大多数情况下,默认值就足够大了。





                      字符流:Reader    Write

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


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


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


                      FileInputStream<文件字节输入流>

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


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

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

                       String str = new String(byte,o,v);


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

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

              byte[] bytes = str.get.getBytes();



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

           如何把字符串转化为字符串:

             char[] chars = str.gettoCharArray();



        File:

     

              File 对象 指的是 文件和目录路径名的抽象表示形式。

                   1.数据结构,数组 临时的

                     文件,数据库   持久化

File的构造方法


    

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


       强制转型:

         (student sut = new student();      
          UNStudent stu = (UNStudent)stu;

          自动转型;子类对象自动转换为父类(student stu = new NUStudent();)





 异常:

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

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


    异常结构继承体系:

    

try catch  的方法:


           try{

          //可能出现异常的代码部分

         }catch(异常类型 异常变量){

             //执行异常操作

          }catch(异常类型 异常变量){

           //执行异常操作

         }
          finally{

         //处理完try与catch操作后的收尾操作,异常统一出口
        }

       finally关键字,在进行异常处理之后,在异常的处理格式中还有一个finally语句,此语句将作为异常

       的统一出口,不管是否产生异常, 最终都要执行此段代码

       如果try中有return语句,则会先执行return语句,后执行finally,最后返回整个方法


       抛出异常处理机制:throws方法抛出异常
       public void test() throws 异常类型{

          //存在异常的代码块

              }


      throw异常对象注意:
      throw一般存在于catch语句当中,用于出现异常后的一种操作方式
      捕捉的异常和抛出的异常不一定相同,可以不一样
      throw抛出的异常对象如果是检测异常,则所在的方法必须要通过throws显性抛出
      throw抛出的异常对象如果是非检测异常,则方法上可以选择性定义throws


  自定义异常:


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







0 0
原创粉丝点击