java file exists用法_Java File类的使用(Java进行文件操作)

File类

一、File类概述

java.io.File 类是文件和目录名的 抽象 表示 ,主要用于文件和目录的创建,查找,删除,重命名文件,查询文件最近的修改时间等操作 。

java把电脑中的文件和文件夹(目录)封装为一个与操作系统无关的File类。

二、File类内容整理

1.常量

四个静态成员变量:

1.static String pathSeparator,路径分隔符 Windows → ;、Linux → :

2.static char pathSeparatorChar,路径分隔符 Windows → ;、Linux → :

3.static String separator,名称分隔符 Windows → \、Linux → /

4.static char separatorChar ,名称分隔符 Windows → \、Linux → /

注意事项:

1.路径分隔符不建议使用常量直接定义,应该使用 File.separator 来代替斜杠(具有跨平台特性,可适应多种操作系统)

2.pathSeparatorChar 与 pathSeparator 和 separatorChar 与 separator 的区别

将字符型的pathSeparatorChar与separatorChar 与 空的 “双引号”相加 得出pathSeparator与separator

public static final String pathSeparator = "" + pathSeparatorChar;

public static final String separator = "" + separatorChar;

2.构造方法

File(String pathname):字符串做参数创建File对象。

File(String parent, String child):第一个与第二个字符串拼接创建File对象。

File(File parent, String child):第一个File对象与第二个字符串拼接创建File对象。

File(URI uri) 通过将给定的 file: URI转换为一个抽象路径名来创建File对象。

3.成员方法

获取文件(目录)信息

(1)getAbsolutePath方法,返回此File的 绝对路径 字符串

方法信息:

public String getAbsolutePath()

//创建File对象

File file = new File("D:\\我的文件\\test.txt");

//返回此File的绝对路径名字符串。

File fileAbsoluteFile = file.getAbsoluteFile();

System.out.println("文件/文件夹的绝对路径为:"+ fileAbsoluteFile);

(2)getPath方法,将此File转换为 路径名 字符串

方法信息:

public String getPath()

File类的toString方法 就是 调用的getPath方法。

//将此File转换为路径名字符串。

String filePath = file.getPath();

System.out.println("文件/文件夹的构造路径为:" + filePath);

(3)getName方法,返回由此File表示的文件或目录的名称

方法信息:

public String getName()

传递的File对象的结尾部分。

//返回由此File表示的文件或目录的名称。

String fileName = file.getName();

System.out.println("文件/文件夹的名称为:" + fileName);

(4)length方法,获取文件大小,文件大小以字节为单位

方法信息:

public long length()

如果文件不存在,返回 0;

如果File对象表示一个目录,则返回值是不确定的

long fileLength = file.length();

System.out.println("文件/文件夹的长度(大小)为:" + fileLength);

(5)getParent方法,获取父文件夹名称

方法信息:

public String getParent()

System.out.println("父文件夹名称为" + file.getParent());

(6)canRead方法,文件是否可读。

方法信息:

public boolean canRead()

System.out.println("文件是否可读?" + file.canRead());

(7)canWrite方法,文件是否可写

方法信息:

public String canWrite()

System.out.println("文件是否可写?" + file.canWrite());

(8)lastModified方法,获取文件最后修改日期

方法信息:

public long lastModified()

用long类型的毫秒数表示,为什么返回的是毫秒数值?点这里。

System.out.println("文件最后修改日期为:" + file.lastModified());

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

(1)exists方法,此File表示的文件或目录是否实际存在。

方法信息:

public boolean exists()

//创建对象

File dir = new File("D:\\我的文件\\");

File file = new File(dir+"test.txt");

//判断file实例是否存在

System.out.println("目录是否存在:" + dir.exists());

System.out.println("文件是否存在:" + file.exists());

(2)isDirectory方法,此File表示的是否为目录。

方法信息:

public boolean isDirectory()

//判断是文件还是目录

System.out.println("dir是文件吗?" + dir.isFile());

(3)isFile方法,此File表示的是否为文件。

方法信息:

public boolean isFile()

传递的File对象的结尾部分。

//判断是文件还是目录

System.out.println("dir是目录吗?" + dir.isDirectory());

创建文件(目录)

(1)createNewFile方法,当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。

方法信息:

public boolean createNewFile()

此方法存在IOException异常,必须要进行异常处理(throws,try...catch)

当文件不存在时,创建文件,返回true,存在返回false不覆盖

此方法只能创建文件,不能创建文件夹

创建文件的路径必须存在,否则会出现异常

//创建对象

File dir = new File("D:\\我的文件\\");

File file = new File(dir+"test01.txt");

//创建文件

System.out.println("是否创建:" + file.createNewFile());

(2)mkdir方法,创建由此File表示的目录。

方法信息:

public boolean mkdir()

只能创建单级空文件夹

文件夹不存在,则创建,返回true

文件夹存在,返回false,如果构造方法中的路径不存在也会返回false

//创建对象

File dir = new File("D:\\我的文件\\mkdir");

System.out.println("是否创建:"+dir.mkdir());

(3)mkdirs方法,创建由此File表示的目录,包括任何必需但不存在的父目录。

方法信息:

public boolean mkdirs()

可创建多级文件夹

只能创建文件夹(mkdir也是(例如xxx.txt只会创建这名称的文件夹而不是文件))

//创建对象

File dir = new File("D:\\我的文件\\mkdirs");

System.out.println("是否创建:"+dir.mkdirs());

删除文件(目录)

(1)delete方法,删除由此File表示的文件或目录。

方法信息:

public boolean delete()

可以删除文件,也可以删除文件夹

文件或者文件夹删除成功返回true

文件夹中有文件或者文件夹返回false

文件或者文件夹路径不存在返回false

此删除方式删除的文件不会进入到回收站

【注意】避免测试使用是删除重要文件,直接操作硬盘,而不是Windows的“假删除”

//创建对象

File dir = new File("D:\\我的文件\\");

File file = new File(dir+"test.txt");

//文件的删除

System.out.println("test.java是否删除" + file.delete());

//目录的删除

System.out.println("目录是否删除" + dir.delete());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值