A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

IO内容
        Throwable类
                Error:错误                很严重,会导致程序不能执行

                Exception:异常

                        RuntimeException:运行期异常
                                虚拟机处理异常的方式:将异常信息打印出来 然后终止当前线程  后面的代码不执行
                                如果想让后面的代码执行我们需要
                                try catch
                                        注意:如果一个try后面有多个catch的话  大的放后面 小的放前面
                                                一般的时候就别跟多个catch了  跟 Exception就够了
                                                JDK1.7的新特性 catch后面可以跟多个异常 用| 隔开
                                                e.printStackTrance()
                                                finally 和final 和finalize()的区别
                                                如果catch里面有return finally还会执行吗?
                        非RuntimeException:编译期异常
                                处理方法:throws
                                          try catch
                                          如果你不知道如何处理异常的时候 用throws
                        自定义异常:
                                throw
        File类
                三个构造方法:
                        File(String path);
                        File(String parent ,String child);
                        File(File parent , String child);
                创键功能
                        createNewFile()
                        mkdir()
                        mkdirs()
                重命名
                        renameTo(File file);
                删除
                        delete()

                        走回收站吗?
                                                        不走
                        能删除带有子目录的文件夹吗?                                         不能
                判断功能:
                        isFile()
                        isDirectory()
                        exist();
                        canRead()
                        canWrite()
                        isHidden()
                获取功能:
                        getAbsolutePath()
                        getPath()
                        getName()
                        length()
                        String[] list()
                        File[] listFiles()
                文件名称过滤器
                       
        字节流
                字节输入流
                        read()  一次读一个字节 返回成int 光标就往后走一下 当读不到的时候 返回 -1
                                为什么返回值是int的呢?
                字节输出流
                        write() 问下 字节输出流 有 一次直接写一个字符串的方法吗? 没有!!!!!

                字节流拷贝文件一次一个字节
                字节流拷贝文件一次性直接考呗成功的
                        获取文件的大小:
                                FileInputStream类的available()方法 可以获取要读的文件的大小
                                File的length方法
                字节流拷贝文件一次一个字节数组的
                        read(byte[] arr); 返回实际读到的长度
                        write(byte[] arr, 0, len);
                缓冲流拷贝文件

                字节流只从文件中读取中文打印到控制台: 乱码

                flush 和 close的区别
                                flush:刷新缓冲区 但是不关闭流 流还可以继续使用
                                close:关闭流  但是关闭之前会刷新一次缓冲区  流不能继续使用了

                字节流复制文件加入标准异常处理代码 jdk1.6

                字节流复制文件加入标准异常处理代码 jdk1.7


        字符流:
               
                字符输入流
                        read():一次读一个字符 返回成int
                        GBK编码特点:中文是由两个字节组成的 第一个字节是负数 第二个不确定
                字符输出流:
                        字符输出流 有 直接能写一个字符串的方法 write(String line);
               
                字符流拷贝文本文件 一次一个字符
                字符流拷贝文件 一次一个字符数组
                        read(char[] chs);
                        write(char[] chs, 0 , len);
                缓冲流一次一次一行的拷贝
                        readLine() :BufferedReader类的 能读到换行符吗? 不能
                        newLine():BufferedWriter类的  跨平台
               
                什么时候用字符流呢: 只把文件读入到程序中
                                        或者 只把程序中的文字 写入到文件中的时候用字符流

                字符流不能拷贝 非纯文本文件(能用txt打开并且能看懂的就是纯文本文件)

                转换流:
                        InputStreamReader:字节流通向字符流的桥梁
                        OutputStreamWriter:字符流通向字节流的桥梁
                        保证不乱码:用什么样的编码存取的文件 就用什么样的编码读取文件

                递归:
                        递归次数不能太多
                        构造方法不可以用递归
                        递归要有出口if else

                        递归的好处:不用知道循环次数
       
        各种其他的流:
                序列流:
                        序列流可以把多个 字节输入流 整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读
                        ,读完一个读第二个,以此类推,
               
                内存输出流:  该输出流可以向内存中写数据, 把内存当作一个缓冲区, 写出之后可以一次性获取出所有数据
                        案例:定义一个文件输入流,调用read(byte[] b)方法,将a.txt文件中的内容打印出来(byte数组大小限制为5)

                随机访问流:
                        可以指定位置读取文件和写入文件
               
                序列化流-对象操作流:
                        如果说想把对象写入到文件中,必须让对象所属的类实现serializable标记接口
                        ID号可加可不加
               
                数据输入输出流:
                        DataInputStream, DataOutputStream可以按照基本数据类型大小读写数据,在把基本类型数据写出时可以保留着
                        在java中的这种基本类型格式
                打印流:
                        只有数据目的 没有数据源
                        有自动刷新的功能:具备两个条件才能自动刷新:开启自动刷新功能(构造方法里面传true),另外调用println()的时候才能自动刷新

                标准输入输出流
                        System.in :InputStream的一个对象,标准的输入流,只有通过这个流才可以从键盘录入数据
                        System.out: PrintStream的一个对象,标准的输出流,只有通过这个流才可以把数据输出到控制台

                Properties
                        store()
                        load()

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马