栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一、File类的使用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一、File类的使用

目录

一、概念

二、创建类的实例

(一)常用构造器

1.构造器1(public File(String pathname)) 

2.构造器2(public File(String parent,String child)) 

3.构造器3(public File(File parent,String chile)) 

(二)路径

1.相对路径

2.绝对路径

3.路径分隔符

   ①.不同系统中有不同的路径分隔符

   ②.注意事项

 三、File类的常用方法

(一)获取

public String getAbsolutePath()

public String getPath()

public String getName()

public String getParent()

public long length()

public long lastModefied()

 1.以上方法的使用: 

2.新建文件并写入内容

3.再次运行上面的代码

2.以下两个方法适用于文件目录:

① public String[] list()

② public File[] listFiles()

(二)重命名 

public boolean renameTo(File dest)

(二)判断

public boolean isDirectory()

public boolean isFile()

public boolean exists()

public boolean canRead()

public boolean canWrite()

public boolean isHidden()

(三)创建

public boolean createNewFile():文件的创建

public boolean mkddir():文件目录的创建

public boolean mkdirs():文件目录的创建

 (四)删除

 public boolean delete()


一、概念

⚪ java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关

⚪ File能创建、删除、重命名文件和目录,但File不能访问文件内容本身,如果要访问文件内容本身,则需要使用输入输出流

⚪ 想要Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录

⚪ File对象可以作为参数传递给流的构造器

二、创建类的实例

(一)常用构造器

1.构造器1(public File(String pathname)) 
    @Test
    public void test1(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\BaiduNetdiskDownload\javasenior\day08\src\java4\he.txt");
        System.out.println(file1);
        System.out.println(file2);
    }

2.构造器2(public File(String parent,String child)) 
        File file3 = new File("E:\BaiduNetdiskDownload","javasenior");

3.构造器3(public File(File parent,String chile)) 
        File file4 = new File(file3,"hi.txt");

(二)路径

1.相对路径

相较于某个路径下指明的路径

    @Test
    public void test1(){
        File file = new File("hello.txt");
    }

2.绝对路径

包含盘符在内的文件或文件目录的路径

File file2 = new File("E:\BaiduNetdiskDownload\javasenior\day08\src\java4\he.txt")

3.路径分隔符

路径中的每级目录之间用一个路径分隔符隔开

   ①.不同系统中有不同的路径分隔符

Windows和DOS系统默认用“    ”表示UNIX和URL用“  /  ”表示

   ②.注意事项

Java程序支持跨平台运行,因此路径分隔符要谨慎使用

为解决以上隐患,File类提供了一个常量:

public static final String separator

根据操作系统,动态的提供分隔符

 

 三、File类的常用方法

(一)获取

public String getAbsolutePath()

获取绝对路径

public String getPath()

获取路径

public String getName()

获取名称

public String getParent()

获取上层文件目录路径

public long length()

获取文件长度(即:字节数),不能获取目录的长度

public long lastModefied()

获取最后一次的修改时间(毫秒值)

 1.以上方法的使用: 
    @Test
    public void test2(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\IO\hi.txt");

        System.out.println(file1.getAbsoluteFile());
        System.out.println(file1.getPath());
        System.out.println(file1.getName());
        System.out.println(file1.getParent());
        System.out.println(file1.length());
        System.out.println(file1.lastModified());
        System.out.println();

        System.out.println(file2.getAbsoluteFile());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    }

2.新建文件并写入内容

 

3.再次运行上面的代码
    @Test
    public void test2(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\IO\hi.txt");

        System.out.println(file1.getAbsoluteFile());
        System.out.println(file1.getPath());
        System.out.println(file1.getName());
        System.out.println(file1.getParent());
        System.out.println(file1.length());
        System.out.println(new Date(file1.lastModified()));
        System.out.println();

        System.out.println(file2.getAbsoluteFile());
        System.out.println(file2.getPath());
        System.out.println(file2.getName());
        System.out.println(file2.getParent());
        System.out.println(file2.length());
        System.out.println(file2.lastModified());
    }

2.以下两个方法适用于文件目录:

① public String[] list()

获取指定目录下的所有文件或者文件目录的名称数组

    @Test
    public void test3(){
        File file = new File("E:\BaiduNetdiskDownload\javasenior");

        String[] list = file.list();
        for(String s : list){
            System.out.println(s);
        }
    }

 

② public File[] listFiles()

获取指定目录下的所有文件或者文件目录的File数组

        File[] files = file.listFiles();
        for(File f : files){
            System.out.println(f);
        }

(二)重命名 

public boolean renameTo(File dest)

把文件重命名为指定的文件路径

以file1.renameTo(file2)为例:

要想保证返回的是true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在

    @Test
    public void test4(){
        File file1 = new File("hello.txt");
        File file2 = new File("E:\IO\hi.txt");
        boolean renameTo = file1.renameTo(file2);
        System.out.println(renameTo);
    }

(二)判断

public boolean isDirectory()

判断是否是文件目录

public boolean isFile()

判断是否是文件

public boolean exists()

判断是否存在

public boolean canRead()

判断是否可读

public boolean canWrite()

判断是否可写

public boolean isHidden()

判断是否隐藏

    @Test
    public void test5(){
        File file1 = new File("hello.txt");

        System.out.println(file1.isFile());
        System.out.println(file1.isDirectory());
        System.out.println(file1.exists());
        System.out.println(file1.canRead());
        System.out.println(file1.canWrite());
        System.out.println(file1.isHidden());
    }

(三)创建

public boolean createNewFile():文件的创建
    @Test
    public void test6() throws IOException {
        File file1 = new File("hi.txt");
        if(!file1.exists()){
            file1.createNewFile();
            System.out.println("创建成功!");
        }else {//文件存在
            file1.delete();
            System.out.println("删除成功!");
        }
    }

public boolean mkddir():文件目录的创建
        File file1 = new File("E:\IO\io1");
        boolean mkdir = file1.mkdir();
        if(mkdir){
            System.out.println("创建成功!");
        }

public boolean mkdirs():文件目录的创建
        File file2 = new File("E:\IO\io2");
        boolean mkdirs = file2.mkdirs();
        if(mkdirs){
            System.out.println("创建成功!");
        }

区别:

    @Test
    public void test7(){
        File file1 = new File("E:\IO\io1\io3");
        boolean mkdir = file1.mkdir();
        if(mkdir){
            System.out.println("创建成功1!");
        }
        File file2 = new File("E:\IO\io1\io4");
        boolean mkdirs = file2.mkdirs();
        if(mkdirs){
            System.out.println("创建成功2!");
        }
    }

 

当io1不存在时,使用 mkdirs()可以创建成功

 (四)删除

 public boolean delete()

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709839.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号