一、File类的使用

一、File类的使用,第1张

一、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()

 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5708381.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-18
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存