美文网首页
java.io.File简单学习

java.io.File简单学习

作者: 初窥门径 | 来源:发表于2016-07-12 17:58 被阅读54次

    File类的用途

    java.io.File用于表示文件(目录),可以通过 File 类在程序中操作硬盘上的文件和目录。
    File 类只用于表示文件(目录)的信息(名称、大小等),不能对文件的内容进行访问。

    java.io.File常用API

    构造器

    File(String pathname)

    // 参数为相对路径
    File dir = new File(".");
    

    File(File parent, String child)

    File demo = new File(dir, "demo");
    

    File(String parent, String child)

    File demo2 = new File("demo", "lv1/lv2/lv3");
    

    方法

    String getPath() 取得相对路径

    File dir = new File(".");
    System.out.println(dir.getPath());// .
    

    String getAbsolutePath() 取得绝对路径

    System.out.println(dir.getAbsolutePath());// G:\github\xuxu\.
    

    String getCanonicalPath() 取得规范化的绝对路径

    System.out.println(dir.getCanonicalPath());// G:\github\xuxu
    

    boolean exists() 判断文件或目录是否存在

    boolean mkdir() 创建目录

    if (!demo.exists()) {
        demo.mkdir();
    }
    

    boolean mkdirs() 创建多级目录

    File demo2 = new File("lv1/lv2/lv3");
    if (!demo2.exists()) {
        demo2.mkdirs();
    }
    

    boolean createNewFile() 创建一个新的空文件

    File test = new File(demo, "test.txt");
    if (!test.exists()) {
        test.createNewFile();
    }
    

    File[] listFiles() 取得目录内容

    //如果是目录,返回该目录下包含的内容(仅一级,不会往下递归)
    File[] files = demo.listFiles();
    System.out.println(Arrays.toString(files));
    //如果不是目录,此方法返回null
    File[] files2 = test.listFiles();
    System.out.println(files2);//null
    

    long length() 取得文件长度

    long lastModified() 取得文件的最后修改时间

    System.out.println(new Date(test.lastModified()));
    

    boolean delete() 删除文件或目录

    File[] files = demo.listFiles();
    for (File file : files) {
        file.delete();//删除文件
    }
    //如果是目录,则必须是空的才能删除掉
    demo.delete();
    

    测试File类的API

    package demo.java.io.file;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.Arrays;
    import java.util.Date;
    
    public class FileDemo {
        public static void main(String[] args) throws IOException {
            // 参数为相对路径
            File dir = new File(".");
    
            // getCanonicalPath()取得规范化的绝对路径
            System.out.println(dir.getCanonicalPath());// G:\github\xuxu
            // getAbsolutePath()取得绝对路径
            System.out.println(dir.getAbsolutePath());// G:\github\xuxu\.
            // getPath()取得相对路径
            System.out.println(dir.getPath());// .
    
            File demo = new File(dir, "demo");
            System.out.println(demo.getPath());// .\demo
    
            if (!demo.exists()) {
                demo.mkdir();
            }
            File demo2 = new File("demo", "lv1/lv2/lv3");
            System.out.println(demo2.getCanonicalPath());// G:\github\xuxu\demo\lv1\lv2\lv3
            if (!demo2.exists()) {
                demo2.mkdirs();
            }
    
            File test = new File(demo, "test.txt");
            File test2 = new File(demo, "test2.txt");
            if (!test.exists()) {
                test.createNewFile();
            }
            if (!test2.exists()) {
                test2.createNewFile();
            }
    
            File[] files = demo.listFiles();
            System.out.println(Arrays.toString(files));
            File[] files2 = test.listFiles();
            System.out.println(files2);// null
    
            System.out.println(demo.length());
            System.out.println(test.length());
    
            System.out.println(new Date(test.lastModified()));
    
            for (File file : files) {
                file.delete();
            }
            demo.delete();// 目录必须是空的才能删除掉
        }
    }
    

    相关文章

      网友评论

          本文标题:java.io.File简单学习

          本文链接:https://www.haomeiwen.com/subject/aitsjttx.html