学习笔记---------------IO

一、file概念

    file可以代表一个目录或1个文件,并不能代表文件内容,操作文件的外围属性

    硬盘上某一个文件或文件夹,可以看到该文件的属性,不能看到内容

    java.io包

    io input output输入输出技术

    路径:  \\   或者  /

    声明一个目录对象

    File file = new File("d/A.java")

    File file = new File("d\\A.java")

二、File基本的操作

    1、构造方法

    File file = new File("d:/1.jpg");


    File dir = new File("d:");

 

    File file2 = new File(dir,"A.java");

    File file3 = new File("d:","/1.jpg");

    2、创建文件操作

    mkdir:创建单层目录 dir1/dir2:必须保证dir1是存在的,才能成功创建dir2

    mkdirs:创建层级目录 dir1/dir2:如果dir1不存在,会先创建dir1,再创建dir2

    createNewFile:创建文件 dir1/a :必须保证dir1是存在的,否则,会报系统找不到指定的路径的异常

 

    if(!file.exists()){

      file.creatNewFile();

    }

    3、文件的常用读操作

    获得文件名称  getName()

    获得文件最后一次修改时间  lastModified()       如果找不到该文件,指向的日期就是1970年一月一日8点

    获得文件长度  length()

    构造方法中只写了文件夹和文件名,则该文件在当前项目中

    获得文件的绝对路径  getAbsolutePath()

    获得文件的相对路径  getPath() 

    

 

 

    是否是文件 isFile()

    是否是目录 isDirectory() 

    判断文件是否存在 exists()

    获得当前File对象所表示目录下的文件和目录名称,返回String[]类型的数据  list()

    获得当前File对象所表示目录下的文件和目录,返回File[]类型的数据  listFiles()

    创建新文件 creatNewFile()

    创建目录 mkdir()

    创建多层目录 mkdirs

    4、修改文件名称  

    renameTo() 

    如果在同一个目录下,相当于重命名  

    如果不在一个目录下,相当于剪切

    5、删除文件和文件夹

    delete()

三、流的概念  

    File类关心的是磁盘上存储的文件位置和名称等,而流是指程序运行中的数据通信信道,当然流类所关心的是文件的内容。

四、流的分类

    根据流向分为:输入流,输出流

    根据传输单位:字节流,字符流

    根据是否和数据源可以直接交互:节点流,处理流

    节点流:可以和数据源直接交互,FileInputStream,FileOutPutStream,FileWriter,FileReader

    处理流:需要连接嵌套其它的流使用,BufferedReader,BufferedWriter  

五、流的四个根(父)类

    1. InputStream(字节输入流)

      FileInputStream:节点流,字节输入流,按照字节为单位读文件,文件复制

      ObjectInputStream:处理流,对象输入流,需要嵌套一个字节输入流进行使用,如 FileInputStream,反序列化

    2. OutputStream(字节输出流)

      FileOutputStream:节点流,字节输出流,按照字节为单位写,文件复制

      ObjectOutPutStream:处理流,对象输出流,需要嵌套一个字节输出流,如FileOutputStream进行 使用,序列化

    3. Reader(字符输入流)

      FileReader:节点流,针对文件的字符输入流,以字符为单位读文件,存在乱码问题,不能直接按行 进行读

      BufferedReader:处理流,带缓冲区的字符输入流,以行为单位读文件readLine:返回值为null表示 读取结束

      InputStreamReader:处理流,转换流(可以将字节流转换为字符流),需要嵌套节点流使用,读文 件的指定字符集编码,解决乱码问题

    4. Writer(字符输出流)

      FileWriter:节点流,针对文件的字符输出流,以字符为单位写文件,存在乱码问题,不能直接按行写

      BufferedWriter :处理流,带缓冲区的字符输出流,按照行写字符,

      newLine OutPutStreamWriter:处理流,转换流(可以将字节流转换为字符流),需要嵌套节点流使用,写文件的时候指定字符集编码,解决乱码

      问题

  字节流

    FileInputStream

    常用api

    FileInputStream是InputStream的子类。

    FileInputStream是读取文件的字节输入流。

    FileInputStream常用的构造方法:

    FileInputStream(File file) FileInputStream(String filename) FileInputStream覆盖实现了父类如下方法: int available() void close()

posted @ 2023-02-10 16:46  freeloopz  阅读(19)  评论(0)    收藏  举报