JAVA文件操作

JAVA文件操作


​ Java中通过 java.io.file类来对文件(目录)进行抽象的描述。注意, 有File对象时,不代表真实存在该文件

1.属性

修饰符及类型属性说明
static StringpathSeparator依赖于系统路径分割符,String类型的表示
static charpathSeparator依赖于系统路径分割符,char类型的表示

windows系统是:反斜杠\

Linux系统是:斜杠/

2.构造方法

方法说明
File(String pathname)根据文件路径创建一个新的File实例,路径可以是绝对路径也可以是相对路径
File(File,String child)根据父目录+孩子文件路径,创建一个新的File实例
File(String parent,String child)根据父目录+孩子文件路径,创建一个新的File实例,父目录用路径表示

3.方法

修饰符及返回方法说明
StringgetParent()放回File的父目录文件路径
StringgetName()纯文件目录
StringgetPath()文件路径
StringgetAbsolutePath()绝对路径
StringgetCanonicalPath()修饰过后的绝对路径
public class Constructor {
    public static void main(String[] args) throws IOException {
        System.out.println("==================使用绝对路径===================");
        File file=new File("d:/JAVA/temp/test/hello.txt");
        System.out.println(file.getParent());//父目录文件路径
        System.out.println(file.getName());//纯文件名称
        System.out.println(file.getPath());//文件路径
        System.out.println(file.getAbsolutePath());//绝对路径
        System.out.println(file.getCanonicalPath());//修饰过的绝对路径
        System.out.println("==================使用相对路径===================");
        file=new File("./test/hello.txt");
        System.out.println(file.getParent());//父目录文件路径
        System.out.println(file.getName());//纯文件名称
        System.out.println(file.getPath());//文件路径
        System.out.println(file.getAbsolutePath());//绝对路径
        System.out.println(file.getCanonicalPath());//修饰过的绝对路径
    }
}

image-20230216232916267

file是Java层面的对象,并不是系统中的真实文件,是两种不同的概念

3.1创建文件

booleanexist()文件是否存在
booleanisDirectory()是否是一个目录
booleanisFile()是否是文件
booleancreateNewFile()创建文件
public class Create {
    public static void main(String[] args) throws IOException {
        File file=new File("./test.txt");
        System.out.println("是否存在:"+file.exists());
        System.out.println("是不是一个目录:"+file.isDirectory());
        System.out.println("是否是文件:"+file.isFile());
        System.out.println("=============================");
        System.out.println("创建文件:"+file.createNewFile());
        System.out.println("是否存在:"+file.exists());
        System.out.println("是不是一个目录:"+file.isDirectory());
        System.out.println("是否是文件:"+file.isFile());
    }
}

image-20230216235845936

这时就在根目录下就能找到刚才创建的文件了,当文件存在时不重复创建

image-20230217000151447

3.2 文件删除

booleandelate()
public class Delete {
    public static void main(String[] args) {
        File file=new File("./test.txt");
        if (file.exists()){
            System.out.println("删除文件:"+file.delete());
        }
    }
}

image-20230217000326607

3.3创建目录

booleanmkdir()
booleanmkdirs()
public class Mkdir {
    public static void main(String[] args) throws IOException {
        //File对象
        File file=new File("d:/JAVA/temp/test");
        //创建目录
        System.out.println("创建目录:"+file.mkdir());
        System.out.println("===================");
        //File对象
        File file1=new File("d:/JAVA/temp/test1/aaa/bbb/ccc");
        //创建多级目录
        System.out.println("创建多级目录:"+file1.mkdirs());
    }
}

image-20230217211235947

3.4文件名

String[]list()
File[]listFiles()
public class FileList {
    public static void main(String[] args) {
        File file=new File("d:/JAVA/temp");
        String[] list=file.list();
        System.out.println("文件名和目录名(String):"+Arrays.toString(list));
        File[] files=file.listFiles();
        System.out.println("文件名和目录名(File):"+ Arrays.toString(files));
    }
}

image-20230217212134793

3.5 文件重命名

booleanrenameTo()

3.6查看文件的可读性

booleancanRead()
booleancanWrite()
public class Permission {
    public static void main(String[] args) {
        File file=new File("d:/JAVA/temp/test/aaa.txt");
        System.out.println("是否可读"+file.canRead());
        System.out.println("是否可写"+file.canWrite());
    }
}

image-20230218131238400

image-20230218131307016

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小 王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值