Java中File文件操作类

1. File类的使用

File:本地文件系统中的一个文件(文件和目录)
java.io.File类是一个普通的类,可以直接产生实例化对象。实例化对象用到两个构造方法:

  • public File(String pathname);
  • public File(String parent, String child); 设置父路径和子路径。

File类中有些常用的方法:

  • 创建一个新文件;
public boolean createNewFile() throws IOException
  • 判断文件是否存在;
public boolean exists()
  • 删除文件;
public boolean delete()

举例:使用上述方法创建文件


public class TestFile {
    public static void main(String[] args) {
        //将本地文件系统中的文件与File类关联起来
        File file = new File("D:"+File.separator+"test1");
        if(file.exists()){
            System.out.println("该文件存在");
        }else{
            try {
                //创建文件产生异常,比如磁盘满了,不能创建
                boolean rs = file.createNewFile();
                if (rs){
                    System.out.println("文件创建成功");
                }else{
                    System.out.println("文件创建失败");
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

在上面中,反斜杠用File类中的静态属性替代。

public static final String separator = "" + separatorChar;

原因:在Windows操作系统中,文件路径分隔使用\;而在Linux操作系统中,文件路径分隔用/。File.separator常量来描述这两种方式,由不同操作系统的JVM来决定使用哪种斜杠。
举例:删除文件

public class TestFile {
    public static void main(String[] args) {
        //将本地文件系统中的文件与File类关联起来
        File file = new File("D:"+File.separator+"test1");
        if(file.exists()){
            boolean rs = file.delete();
            if (rs){
                System.out.println("文件删除成功");
            }else{
                System.out.println("文件删除失败");
            }
        }else{
            System.out.println("文件不存在");
        }
    }
}

2. 目录操作

File中两种创建目录的方式:

  • public boolean mkdir() : 只会创建当前目录,如果父目录不存在,创建失败;
  • public boolean mkdirs():当父目录不存在,一并创建;

另外还有一些获取父路径或父类对象的方法:

  • public String getParent()
  • public File getParentFile()
  • public String getPath()

举例:使用mkdir()创建目录


public class TestFile {
    public static void main(String[] args) {
       String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
       File file = new File(directory);
       if(file.exists()){
           file.delete();
       }else{
           boolean rs = file.mkdir();
           if(rs){
               System.out.println("创建成功!"); 
           }else{
               System.out.println("创建失败!");   //输出创建失败
           }
       }
    }
}

举例:使用mkdirs()创建目录


public class TestFile {
    public static void main(String[] args) {
       String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
       File file = new File(directory);
       if(file.exists()){
           file.delete();
       }else{
           //mkdir :只会创建当前目录,如果父目录不存在,则创建失败
           //mkdirs: 创建目录时,如果父目录不存在,一并创建
           boolean rs = file.mkdirs();
           if(rs){
               System.out.println("创建成功!");   //输出创建成功
           }else{
               System.out.println("创建失败!");
           }
       }
    }
}

举例:获取父类路径,对象

public class TestFile {
    public static void main(String[] args) {
       String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
       File file = new File(directory+File.separator+"a");
        String parent = file.getParent();
        String path = file.getPath();
        File fileParent = file.getParentFile();

        System.out.println(parent);     //\test1\Java\abc
        System.out.println(path);       //\test1\Java\abc\a
        System.out.println(fileParent.getPath());  //\test1\Java\abc
        
    }
}

3. 文件信息

File中获取文件信息的方法:

  • public boolean isFile() :判断路径是否是文件
  • public boolean isDirectory() :判断路径是否是目录
  • public long length() : 取得文件(字节)大小
  • public long lastModified() : 最近一次修改时间
    举例:获取文件信息

public class TestFile {
    public static void main(String[] args) {
       String directory = "D:"+File.separator+"test1"+File.separator+"Java"+File.separator+"abc";
       File file = new File(directory+File.separator+"a");

        System.out.println("文件是否存在:"+file.exists());
        System.out.println("是否是文件:"+file.isFile());
        System.out.println("是否是目录:"+file.isDirectory());
        System.out.println("是否是隐藏文件:"+file.isHidden());
        System.out.println("文件大小:"+file.length());
        System.out.println("最近一次修改时间:"+new Date(file.lastModified()));

    }
}

总结:感觉没啥总结的,以上方法都很简单,多使用几次就能掌握

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值