Java File 的意义以及几个常见方法。

java.io.File
File的每一个实例用于表示硬盘上的一个文件或目录(实际上表示的是一个抽象路径)
File可以:
1:可以访问其表示的文件或目录的属性信息(文件名,大小,修改时间等等)
2:创建或删除文件及目录
3:访问一个目录(文件夹)中的所有子项
File常用构造器:
File(String pathname)
指定一个路径,使当前File对象表达该位置对应的文件或目录。

 

/*           
            (pathname)这里路径使用一个字符串,路径有两种写法:

            绝对路径:从操作系统定义的"根"开始,比如windows中硬盘上的根从c盘,d盘等盘符开始
                    绝对路径的有点在于清晰明了,但是缺点就是太绝对,不能更好适应跨平台。


            相对路径:相对路径写法常见的为"./",即:当前目录
                    相对路径有更好的适应性,适合跨平台使用,缺点是不够清晰,具体位置的
                    判断要视当前程序的运行环境而定。
                    比如在IDEA中执行当前程序时,IDEA规定的"./"就是当前项目目录
*/
         
                    //D:/Robin/jsd2203_se/demo.txt   
        该文件是D盘中Robin文件夹下,jsd2203_se文件夹下的demo.txt文件

            File file = new File("D:/Robin/jsd2203_se/demo.txt"); //绝对路径


            File file = new File("./demo.txt");  //相对路劲

        



       

File的几个常见方法

        
        /**
        获取文件名,返回String类型
         String file.getname();
        
        */
       
        String name = file.getName();//demo.txt
        System.out.println(name);
        /**
        long flie.length();
        或取文件的长度此处指的是此文件占用内存的字节,返回long类型因为文件占用的字节大
        */
        long len = file.length();
        System.out.println(len);

        /**
        boolean file.canRead/canWrite/isHitten();
        判断是否可读,可写,是否隐藏



*/
        boolean cr = file.canRead();//是否可读
        boolean cw = file.canWrite();//是否可写
        System.out.println("是否可读:"+cr);
        System.out.println("是否可写:"+cw);
        boolean ih = file.isHidden();
        System.out.println("是否隐藏:"+ih);//是否隐藏
File提供了创建一个文件的方法:createNewFile()
public class CreateNewFileDemo {
    public static void main(String[] args) throws IOException {
        //在当前目录下新建一个文件:test.txt

        /**
        boolean file.exists
        判断文件是否存在
        */

        File file = new File("./test.txt");//./表示当前目录
        boolean exists = file.exists();//判断当前File表示的文件或目录是否真实存在
        if(exists) {
            System.out.println("该文件已经存在了!");
        }else{
            file.createNewFile();//若不存在就创建它
        }
    }
}

创建一个目录

directory : 目录 又称文件夹
public class MkdirDemo {
    public static void main(String[] args) {
        //在当前目录下新建一个目录:demo
//        File dir = new File("./demo");
        File dir = new File("./a/b/c/d/e/f/demo");
        if(dir.exists()){//目录也有exist方法
            System.out.println("该目录已存在");
        }else{
            /*
                mkdir()方法在创建目录时要求该目录所在的目录必须存在,否则创建失败

                mkdirs()方法则会在创建该目录时将所有不存在的父目录全部创建出来。
                把abcdef目录也创建出来了

                实际开发中推荐使用mkdirs()这个方法。
             */
//            dir.mkdir();//将该目录创建出来
            dir.mkdirs();//将该目录创建出来
            System.out.println("目录已创建");
        }
    }
}

file的删除

public class DeleteFileDemo {
//file.delete删除文件,不管文件是否有内容

    public static void main(String[] args) {
        //将当前目录下的文件test.txt删除

        File file = new File("./test.txt");
        if(file.exists()){//如果该文件存在
            file.delete();//删除文件
            System.out.println("文件已删除!");
        }else{
            System.out.println("该文件不存在!");
        }

    }
}

directory 目录的删除

public class DeleteDirDemo {
    public static void main(String[] args) {
        //将当前目录下的demo目录删除
//        File file = new File("./demo");
        File file = new File("./a");
        if(file.exists()){//如果该目录存在
            /*
                delete()方法在删除目录时,要求目录必须是空的,否则删除失败。
             */
            file.delete();
            System.out.println("目录已删除!");
        }else{
            System.out.println("该目录不存在!");
        }
    }
}

file[] listfile 访问所有的子项

/**
 * 访问一个目录中的所有子项
 */
public class ListFilesDemo {
    public static void main(String[] args) {
       //访问当前目录下的所有子项
       File dir = new File(".");//"."就表示当前目录本身
       /*
            boolean isFile()
            判断当前File表示的是否为一个文件

            boolean isDirectory()
            判断当前File表示的是否为一个目录
        */
        if(dir.isDirectory()){//确保dir表示的是一个目录
            /*
                File[] listFiles()
                将当前File对象表示的目录中所有子项返回。
                返回的数组中每个File元素表示的就是其中一个子项。
             */
            File[] subs = dir.listFiles();
            System.out.println("当前目录下一共有:"+subs.length+"个子项");
            for(int i=0;i<subs.length;i++){
                File sub = subs[i];
                System.out.println(sub.getName());
            }
        }


    }
}




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值