I/O输入输出流

一、I/O

 

    Input/Output

 

二、File

 

    用途:对文件和目录进行常规操作(除文件读写操作外)。

 

    方法:exists():判断文件或目录是否存在

          isFile():判断是否是文件

          isDirectory():判断是否是目录

          creaetNewFile():创建文件

          mkDir():创建目录

          length():获取文件的大小

          getAbsolutePath():获取绝对路径(目录名+文件名)

          listFiles():获取目录下的所有子目录和文件

          get...|set...操作文件的属性的方法

 

 

三、文件的读写操作

 

    文件的读写操作通过流来实现。

 

    流根据流向可以划分为:输入流(InputStream和Reader)、输出流(OutputStream和Writer)

 

    流根据处理单元可以划分为:字节流(InputStream和OutputStream)、字符流(Writer和Reader)

 

    字节流是8位通用字节流;字符流是16位Unicode字符流(中文占2个字节)。

 

    流向以“内存”作为参照物。

 

    输入输出 - 文件读写操作

    

 

 

四、IO类的层次关系

 

   抽象类:InputStream(read、close、avilable)、OutputStream(write、close)、Reader(read、close)、Writer(write、close)

 

 

   实现类:

 

   InputStream            OutputStream           Reader               Writer

 

   FileInputStream        FileOutputStream       InputStreamReader    OutputStreamWriter

 

   DataInputStream        DataOutputStream       FileReader           FileWriter

 

   ObjectInputStream      ObjectOutputStream     BufferedReader       BufferedWriter

 

 

 

 

八、其他

 

    1.不同的操作系统文件路径分隔符是不一样的。

 

      windows操作系统:c:\windows\test.txt    c:/windows/test.txt

      Linux操作系统:/book/book1.txt

 

      推荐:以后在java中用到目录分隔符时,统一使用/。

 

    2.在windows中,诸如c盘d盘等的官方名称:磁盘驱动器

 

    3.每次在读写文件完毕后,一定要关闭流。

 

    4.换行

 

      windows平台:\r\n

      Linux:\n

 

    5.以字符流的方式读写文件时,会出现乱码问题。通过指定编码格式。

 

      ASCII、GB2312、GBK、UTF-8

posted @ 2017-02-24 09:51  蝶儿总在空中飞  阅读(104)  评论(0编辑  收藏  举报