java_i/o流学习总结之—File类

什么是i/o流?

i/o流的定义:input/output stream;
i/o流中包含了大量的类和接口,都被存储在java.io包中
i/o流相当于我们生活中的管道,只不过存在于程序与本地文件之间,通过i/o流,我们可以使用程序对本地中的文件进行直接或间接的操作。


File类

1. File类的相关说明

File:代表磁盘中的一个文件,可以是一个普通文件,也可以是一个目录(文件夹)。
通过使用File类中的相关方法,我们可以对一个文件(目录)的整体进行操作,包括:创建一个文件,删除,重用名,获得文件信息等等…但是我们不能对文件的内容进行相关操作

2. File类的常用方法(这里只是抽象总结,详见API)

  • File的构造方法;
  • createNewFile():创建一个新的文件,无需参数,若路径正确则创建成功,若不正确,则抛出异常;
  • mkdir():创建一层目录(文件夹);
  • mkdirs():创建多层目录(文件夹);
  • exists():判断此文件是否存在,无需参数;
  • createTempFile():根据前缀和后缀在指定目录(文件夹)生成不重名的文件(此方法为静态方法,可直接通过File.createTempFile()调用;
  • isFile():判断是否为一个文件;
  • isDirctory():判断是否为一个目录(文件夹);
  • renameTo():修改文件名,参数为File类型的新文件路径;
  • getName():获得文件名;
  • getAbsolutePath():获得绝对路径;
  • listFiles():获得当前目录的子文件数组,返回值 类型是 File[],用于遍历当前目录下的子文件;

File常用方法的具体代码实现

package com.oracle.testfile;

import java.io.File;
import java.io.IOException;

public class TestFile {

    public static void main(String[] args) {

        //File的构造方法
        File file = new File("e:/test.txt");
        File file1 = new File("e:/test");
        File file2 = new File("e:/abc/a/b/c");
        //1.createNewFile():创建一个新的文件,无需参数,若路径正确则创建成功,若不正确,则抛出异常。
        try {
            file.createNewFile();
            System.out.println("创建成功!");
        } catch (IOException e) {           
            e.printStackTrace();
        }
        //2.创建一层目录(文件夹)。
        System.out.println(file1.mkdir());
        //3.创建多层目录(文件夹)。
        System.out.println(file2.mkdirs());
        //4.exists():判断此文件是否存在,无需参数。
        //5.createTempFile():根据前缀和后缀在指定!目录(文件夹)!生成不重名的文件(此方法为静态方法,可直接通过File.createTempFile()调用)
        if(file1.exists()) {
            for(int i=0;i<5;i++) {
                try {
                    File.createTempFile("test", ".java",file1);
                    System.out.println("创建临时文件成功!");
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        //5.isFile():判断是否为一个文件
        System.out.println(file.isFile());
        //System.out.println(file1.isFile());
        //6.isDirctory():判断是否为一个目录(文件夹)
        System.out.println(file2.isDirectory());
        //7.renameTo():修改文件名,参数为File类型的新文件路径
        System.out.println(file.renameTo(new File("e:/newtest.txt")));
        //8.delete():删除文件(只能删除普通文件或空目录)
        System.out.println(file.delete());
        //9.getName():获得文件名
        System.out.println(file.getName());
        //10.getAbsolutePath():获得绝对路径
        System.out.println(file.getAbsolutePath());
        System.out.println(file1.delete());
        System.out.println(file2.delete());
        //11.listFiles():获得当前目录的子文件数组,返回值 类型是 File[],用于遍历当前目录下的子文件
        showSubFiles(file1);
    }
    public static void showSubFiles(File file) {
        System.out.println(file.getAbsolutePath());
        if(file.isDirectory()) {
            File[] sub = file.listFiles();
            for(File f:sub) {
                System.out.println(f);
            }
        }
    }

}

猜你喜欢

转载自blog.csdn.net/liboru9755/article/details/81780236