Java - 文件(IO流)

时间:2024-01-14 10:32:44
Java - 文件 (IO)
流的分类:
    > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter
    > 缓冲流:BufferedInputOutStream | BufferedOutputStream | BufferedReader | BufferedWriter
    > 转换流:InputStreamReader | OutputStreamWriter
    > 标准输入 / 输出流:
    > 打印流(很少用):PrintStream | PrintWriter
    > 数据流(很少用):DataInputStream | DataOutputStream
    > 对象流(涉及序列化 / 反序列化):ObjectInputStream | ObjectOutputStream
    >随机存取文件流:RandomAccseeFile
一、java.io.File类的大概使用
    > 凡是与输入输出相关的类、接口都定义在java.io包下
    > File类对象是与平台无关的
    > File中的方法,仅涉及到如何创建、删除、重命名等等,涉及文件内容的必须由IO流来做
    > File类的对象长作为IO流的具体类的构造器的形参
1、File表示一个文件`
    File file = new File("文件的绝对路径:F:/Program File/1.txt");
    // 在当前目录下
    File file = new File("文件的相对路径:1.txt");
2、File表示一个路径
    File file = new File("文件的绝对路径:F:/Program File/");
3、方法介绍:
    > getName():文件名
    > getPath():文件路径
    > getAbsoluteFile()
    > getAbsolutePath()
    > getParent()
    > renameTo(File new Name):文件重命名
    > exists():文件是否存在
    > canWrite():文件是否可写
    > canRead():文件是否可读
    > isFile():是否是一个文件
    > isDirectory():是否是一个目录
    > lastModified():文件最后的修改时间
    > length():文件内容的大小
    > createNewFile():新建一个文件
    > delete():删除一个文件
    > mkdir():创建一个文件夹
    > mkdirs():创建一个文件夹,若上层文件夹不存在,则一起创建
    > list():列出file目录下的所有文件,以String的形式
    > listFiles()
二、Java IO流的使用
    > 除了处理文本文件的流为字符流,其他的流都是字节流
1、FileInputStream | FileOutputStream
    > 抽象基类:InputStream OutputStream Reader Writer
    > FileInputStream:
        >  read():一次读取一个字节,每次调用返回一个字节的数据,当读到文件末尾,返回 -1,读取的文件一定要存在
            File file = new File("文件路径");
            FileInputStream fs = new FileInputStream(file);    
            // 读取文件
            fs.read();
        > read(buffer []):将文件读取到一个Byte类型的buffer大小的数组中,返回读到的字节数 ,当读到文件末尾,返回 -1
    > FileOutputStream:
        > write(buffer []):将一个buffer字节数组写入文件