Java File类常用方法

1.File 类静态属性

为了系统的可移植 路径和文件名分隔符不要hardcode,应该使用下面的属性替换

pathSeparator 路径分隔符 windows=; linux=:
separator 文件名称分隔符 windows=\ linux=/

// 测试
public class FileDemo {
    public static void main(String[] args) {
        System.out.println(File.separator);
        System.out.println(File.pathSeparator);
    }
}

2.File类 构造方法

构造函数只能传递一个String类型的参数,参数可以为相对路径、绝对路径;可以为目录或者文件。

 //参数为:绝对路径 目录
 File file = new File("/Users/lidalin");
 //参数为:绝对路径 文件
 File file2 = new File("/Users/lidalin/demo.txt");
 //参数为:相对路径 文件
 File file3 = new File("demo.txt");

从父路径名字符串和子路径名字符串创建新的 File实例

 //File(String parent, String child)
 //优点:更加灵活
 File file4 = new File("/Users/lidalin/", "demo.txt");

从父抽象路径名和子路径名字符串创建新的File实例。
优点:可以通过file对象的方法,处理文件路径

 //File(File parent, String child)
 //优点:可以通过file类的目录格式化方法对父路径处理
 File file5 = new File(file.getParent(), "demo.txt");
 System.out.println(file5);

常用方法

get 类型

getAbsolutePath
File file3 = new File("demo.txt");

// 返回此抽象路径名的绝对路径名字符串
public String getAbsolutePath()

System.out.println(file3.getAbsoluteFile());
output:/Users/lidalin/Projects/personal/java-io/demo.txt
getPath
// 将此抽象路径名转换为路径名字符串
public String getPath()

System.out.println(file3.getPath());
output:demo.txt
getName
// 返回由此抽象路径名表示的文件或目录的名称
public String getName()

System.out.println(file3.getName());
output:demo.txt
length
// 返回由此抽象路径名表示的文件的长度
// 文件夹无大小
// 大小单位为字节
public long length()
System.out.println(file3.length());


判断类型

isDirectory()

校验路径名表示的文件是否为目录。

isFile()

校验路径是否为文件

isHidden()

是否为隐藏文件

exists()

文件或路径是否存在


创建类型

createNewFile()

当文件不存在时创建一个新文件,如果目录不存在抛出异常

 File file = new File("text.txt");
 boolean newFile = file.createNewFile();
mkdir()

创建单个目录,如果文件夹已经存在抛出异常返回false

boolean mkdir()

File file = new File("abc");
boolean mkdir = file.mkdir();
System.out.println(mkdir);
mkdirs()

创建多个文件夹

boolean mkdirs()

File file = new File("a"+File.separator+"b");
boolean mkdir = file.mkdirs();
System.out.println(mkdir);
delete()

直接删除文件或者文件夹,不经过回收站

boolean delete()

File file = new File("abc");
boolean delete = file.delete();
System.out.println(delete);

遍历类型

String[] list()

返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录

File file = new File("/");
String[] list = file.list();
for (String s : list) {
    System.out.println(s);
}
File[] listFiles()

返回文件对象数组,表示由该抽象路径名表示的目录中的文件

File file = new File("/");
File[] files = file.listFiles();
for (File file1 : files) {
    System.out.println(file1);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值