java_23 File类

1.File类定义:

  文件和目录路径的抽象表达形式,java中将路径或者文件封装成File对象。

2.File类的静态成员变量(pathSeparator 分隔符,字符串        separator分隔符)

复制代码
public class FileDemo {
    public static void main(String[] args) {
        String s = File.pathSeparator;//  在linux   用于路径分割
        System.out.println(s);
         String se = File.separator;
         System.out.println(se);  //linux  目录名的分割     /
    }
}
复制代码

3.File类的构造方法(三种重载方式)

  1.传递路径名

//1 传递路径名
    public static void fun1(){
        File file = new File("d:\59");
        System.out.println(file);
    }

  2.传递字符串:父路径     传递字符串:子路径

//2  传递字符串  父路径                 字符串 子路径
    public static void fun2(){
        File f = new File("d:","java");
        System.out.println(f);
    }

  3.传递父路径     子字符串传递子路径

复制代码
//3 传递 父路径      子字符串子路径
    //好处  父路径 File类型    父路径就可以直接调用File类的方法  *****
    public static void fun3(){
        File parent = new File("d:");
        File file = new File(parent,"java");
        System.out.println(file);
        
    }
复制代码

File创建、删除文件

  创建:创建文件功能,如果文件已经存在,不在创建

复制代码
//创建文件
    public static void fun1() throws IOException{
        File file =new File("c:\a.txt");
        boolean b = file.createNewFile();
        System.out.println(b);
    }
//创建目录
        public static void fun2() throws IOException{
            File file =new File("c:\baixiaolong");
            boolean m = file.mkdirs();
            System.out.println(m);
            File file1 =new File("c:\baixiaolong\b.txt");
            boolean s = file1.createNewFile();
            System.out.println(s);
    }
复制代码

  删除:

复制代码
//删除
    public static void fun3(){
        File file1 =new File("c:\baixiaolong\b.txt");
        boolean b = file1.delete();
        System.out.println(b);
        
    }
复制代码

File的功能

  File的获取功能:

    获取路径getPath():

复制代码
//获取功能  放回路径中 ,表示的文件或者文件名,获取路径中最后部分的名字
    public static void fun1(){
        File file = new File("d:\day16.rar");
//        String name = file.getName();
        String name = file.getPath();
        System.out.println(name);
    }
复制代码

    获取文件字节数getlength();

复制代码
//length()  获得文件的字节数
    public static void fun2(){
        File file = new File("d:\day16.rar");
        long length = file.length();
        System.out.println(length);
    }
复制代码

    获取绝对路径getAbsoluteFile();

复制代码
//获得绝对路径    绝对位置下的工程根目录
    public static void fun3(){
        File file = new File("src");
        File abe = file.getAbsoluteFile();
        System.out.println(abe);
    }
复制代码

    获取父路径getParent();

复制代码
//获得  getParent()   获取父路径
    public static void fun4(){
        File file =new File("d:\eclipse\eclipse.exe");
        String parent = file.getParent();
        System.out.println(parent);
    }
复制代码

     获取所有的根目录;

      遍历一个目录listFiles:

复制代码
//  遍历一个目录   返回全路径+文件名
    public static void fun(){
        File f = new File("d://eclipse");
        File[] listFiles = f.listFiles();
        //增强for循环遍历
        for(File f1:listFiles){
            System.out.println(f1);
        }
    }
复制代码

      只返回文件名:

复制代码
//返回的只有文件名
    public static void fun2(){
        File file = new File("c:");
        String[] list = file.list();
        System.out.println(list.length);
        for(String str:list){
            System.out.println(str);
        }
        
    }
复制代码

  File的判断功能:

     判断路径是否存在exists;

复制代码
// 判断路径是否存在    exists()
    public static void fun1(){
        File f = new File("src");
        boolean es = f.exists();
                System.out.println(es);        
    }
复制代码

    判断封装的是不是文件夹isDirectory;

复制代码
//判断封装的路径是不是文件夹
    public static void fun2(){
        File file = new File("d:\eclipse");
        if(file.exists()){
            boolean b = file.isDirectory();
            System.out.println(b);
        }
    }
复制代码
原文地址:https://www.cnblogs.com/smxbo/p/10698280.html