黑马程序员技术交流社区

标题: IO流 [打印本页]

作者: 空白心    时间: 2015-6-14 22:16
标题: IO流
异常处理:
        1.基本语法:try...catch
        2.多catch:try...catch...catch...catch
          注意:每个catch的异常类型可以是"平级的",不分先后顺序;
                可以可以是"子父关系",父类的必须放在最后;
        3.JDK7的多catch语句:try...catch(异常类型1 |异常类型2 | 异常类型3  e)
          注意:一定要是"平级关系",不能是"子父关系"
        4.finally语句:
                A:try...catch...finally
                B:特点:无论在try中是否发生异常,都会被执行;
        5.throws和throw:
                A:throws
                        1).用在方法声明处;
                        2).后面写类名;可以有多个;
                        3).运行时:
                                调用处可以不捕获,也可以捕获;
                           非运行时:
                                调用处必须捕获;
                B:throw:
                        1).用在方法体内;
                        2).后面写对象的引用;只能有一个;
                        3).运行时:
                                a).可以不用声明throws
                                b).调用处可以处理,可以不处理;
                           非运行时:
                                a).方法必须声明throws这个类型的异常;
                                b).调用处必须处理;
               
        6.Throwable的几个常用方法:
                1).getMessage():获取异常信息;
                2).toString():调用重写的toString()方法
                3).printStackTrace():打印堆栈异常;
        7.自定义异常:
                1).我们可以根据我们的业务逻辑,编写我们自己的异常类;
                2).自定义一个类,继承自Exception或其它子类即可;
                3).通常会添加一个带String参数的构造方法:指定异常信息;
        8.子类重写父类方法时:
                无论父类方法是否抛出异常,子类方法都可以不抛出任何异常;
                也可以抛出任何的运行时异常;
                如果父类抛出的是"非运行时异常",子类不能抛出比父类更多的"非运行时异常"
       
       
二.File类:
        1.构造方法:
                public File(String pathname)
                public File(String parent,String child)
                public File(File parent,String child)
        2.创建功能
                public boolean createNewFile():
                public boolean mkdir()
                public boolean mkdirs()
        3.删除功能
                public boolean delete()
        4.重命名功能
                public boolean renameTo(File dest)
        5.判断功能
                public boolean isDirectory()
                public boolean isFile()
                public boolean exists()
                public boolean canRead()
                public boolean canWrite()
                public boolean isHidden()
        6.基本获取功能
                public String getAbsolutePath()
                public String getPath()
                public String getName()
                public long length()
                public long lastModified()
        7.高级获取功能
                public String[] list()
                public File[] listFiles()

递归:
        1.递归是基于:方法可以自己调用自己;
        2.注意:
                1).一定要有出口,否则就是死递归;
                2).次数不能太多,否则堆栈溢出;
                3).构造方法不能递归调用;
        3.重点练习:
                1).递归输出指定目录下所有的java文件的绝对路径案例
                2).递归删除带内容的目录案例
二.IO流:
        1.IO流概念:
                1.IO流:InputStream和OutputStream
                2.流:是有方向的,线性的;
                3.分类:
                        A.按流向:
                                输出流
                                输入流
                        B.按读写方式:
                                字节流:
                                        输出流:OutputStream
                                                        |--FileOutputStream(覆盖写、追加写)(文件可以不存在)
                                                                1).构造方法:
                                                                        覆盖写:
                                                                        FileOutputStream(String name):
                                                                        FileOutputStream(File file);
                                                                        追加写:
                                                                        FileOutputStream(String name,boolean append):
                                                                        FileOutputStream(File file,boolean append);
                                                                2).写入方法:
                                                                        write(int b):
                                                                        write(byte[] byteArray):
                                                                        write(byte[] byteArray,int off,int len):
                                                                3).关闭流:
                                                                        close();
                                        输入流: InputStream
                                                        |--FileInputStream(文件必须存在,否则报错)
                                                                1).构造方法:
                                                                        FileInputStream(String name):
                                                                        FileInputStream(File file):
                                                                2).读取的方法:
                                                                        int read();//今天学的
                                                                        int read(byte[] byteArray)://下次课
                                                               
                                字符流:
                                        输出流:Writer
                                        输入流:Reader








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2