美文网首页
你一定要会的JavaFile

你一定要会的JavaFile

作者: 在中国喝Java | 来源:发表于2022-12-21 11:20 被阅读0次

File的构造

方法名称 说明
public File(String pathname) 根据文件路径创建文件对象
public File(String parent,String child) 根据父路径名字符串和子路径名字符串创建文件对象
public File(File parent,String child) 根据父路径对应文件对象和子路径名字符串创建文件对象

public File(String pathname)

1.根据字符串表示的路径,变成File对象

String str = "C:\\Users\\jc\\Desktop\\长生剑客.txt";  
File file = new File(str);  
System.out.println(file);
复制代码

public File(String parent,String child)

2.根据父路径名字符串和子路径名字符串创建文件对象

String parent = "C:\\Users\\jc\\Desktop";  
String child = "长生剑客.txt";  
File file1 = new File(parent, child);  
System.out.println(file1);
复制代码

public File(File parent,String child)

3.根据父路径对应文件对象和子路径名字符串创建文件对象

File parent2 = new File("C:\\Users\\jc\\Desktop");  
String child2 = "长生剑客.txt";  
File file2 = new File(parent2, child2);  
System.out.println(file2);
复制代码

结果:

[图片上传失败...(image-432e9f-1671679210152)]


File常见的成员方法

判断、获取

方法名称 说明
public boolean isDirectory() 判断此路径名表示的File是否为文件夹
public boolean isFile() 判断此路径名表示的File是否为文件
public boolean exists() 判断此路径名表示的File是否存在
public long length() 返回返回文件的大小(字节数量)
public String getAbsolutePath() 返回文件的绝对路径
public String getPath() 返回定义文件时使用的路径
public String getName() 返回文件的名称,带后缀
public long lastModified() 返回文件的最后修改时间(时间毫秒值)

1.对一个文件的路径进行判断

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
System.out.println(file.isDirectory());  
System.out.println(file.isFile());  
System.out.println(file.exists());
复制代码

2.对一个文件夹进行判断

File file1 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹");  
System.out.println(file1.isDirectory());  
System.out.println(file1.isFile());  
System.out.println(file1.exists());
复制代码

3.对一个不存在的路径进行判断

File file2 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\拜拜.txt");  
System.out.println(file2.isDirectory());  
System.out.println(file2.isFile());  
System.out.println(file2.exists());
复制代码

结果

[图片上传失败...(image-149cd8-1671679210152)]

1.length 文件大小(字节数)

只能获取文件的大小,单位是字节

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
long len = file.length();  
System.out.println(len);
复制代码

2.getAbsolutePath

File file1 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
String path = file1.getAbsolutePath();  
System.out.println(path);
复制代码

在项目里添加一个 长生剑客.txt的文件

File file2 = new File("JavaFile\\长生剑客.txt");//相对路径  
String path2 = file2.getAbsolutePath();  
System.out.println(path2);
复制代码

3.getPath返回定义文件时使用的路径

File file3 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
String path3 = file3.getPath();  
System.out.println(path3);  
File file4 = new File("JavaFile\\长生剑客.txt");//相对路径  
String path4 = file4.getPath();  
System.out.println(path4);
复制代码

4.getName获取名字

  • 如果是文件,返回的是文件名和文件的后缀
  • 如果是文件夹,返回的是文件夹名
File file5 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
String name = file5.getName();  
System.out.println(name);
复制代码

5.lastModified 返回文件的最后修改时间(毫秒)

File file6 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\长生剑客.txt");  
long time = file6.lastModified();  
System.out.println(time);  

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");  
Date date = new Date(time);  
String str = simpleDateFormat.format(date);  
System.out.println(str);
复制代码

[图片上传失败...(image-bad783-1671679210152)]

创建、删除

方法名称 说明
public boolean createNewFile() 创建一个新的空的文件
public boolean mkdir() 创建单级文件夹
public boolean mkdirs() 创建多级文件夹
public boolean delete() 删除文件、空文件

1.创建一个新的文件

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\c.txt");  
boolean b = file.createNewFile();  
System.out.println(b);
复制代码

结果:

[图片上传失败...(image-914a49-1671679210152)]

[图片上传失败...(image-b41a8f-1671679210152)]

创建了一个c.txt的文件 注意:

  • 如果当前路径表示的文件夹是不存在的,则创建成功,方法返回true
  • 如果当前路径表示的文件夹是存在的,则创建失败,方法返回false 比如再运行上面的代码:

[图片上传失败...(image-c40559-1671679210152)]

2.mkdir make Directory 文件夹(目录)

File file1 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\XYG");  
boolean c = file1.mkdir();  
System.out.println(c);
复制代码

结果:

[图片上传失败...(image-96c826-1671679210152)]

注意

  • Windows当中路径是唯一的,如果当前路径已经存在,则创建失败,返回false
  • mkdir方法只能创建单机文件夹,无法创建多级文件夹

3.mkdirs 创建多级文件夹

File file2 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\XYG\\张大仙\\秀豆");  
boolean d = file2.mkdirs();  
System.out.println(d);
复制代码

结果:

[图片上传失败...(image-a7d149-1671679210152)]

创建结果:

[图片上传失败...(image-4f5757-1671679210152)]

4.delete删除

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹\\XYG\\张大仙\\秀豆");  
boolean b = file.delete();  
System.out.println(b);
复制代码

结果:

[图片上传失败...(image-42f5be-1671679210152)]

[图片上传失败...(image-e07f82-1671679210152)]

注意

  • 如果删除的是文件,则直接删,不走回收站
  • 如果删除的是空文件夹,则直接删,不走回收站
  • 如果删除的是有内容的文件夹,则删除失败

获取并遍历

方法名称 说明
public File[] listFiles() 获取当前该路径下所有内容

1.创建File对象

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹");
复制代码

2.listFiles方法

File[] files = file.listFiles();
复制代码

3.temp依次输出长生剑客文件夹内的所有内容

for (File temp : files) System.out.println(temp);
复制代码

4.结果

[图片上传失败...(image-bcd2ad-1671679210151)]

重点

  • 当调用者File表示的路径不存在时,返回null
  • 当调用者File表示的路径是文件时,返回null
  • 当调用者File表示的路径是一个空文件夹时,返回一个长度为0的数组
  • 当调用者File表示的路径是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中
  • 当调用者File表示的路径有隐藏文件夹时,将里面所有文件和文件夹的路径放在File数组中返回,包含隐藏文件夹
  • 当调用者File表示的路径是想要权限才能访问的文件夹时,返回null

获取并遍历

方法名称 说明
public static File[] listRoots() 列出可用的文件系统根
public String[] list() 获取当前该路径下所有内容
public String[] list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles() 获取当前该路径下所有内容
public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前该路径下所有内容
public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容

1.listRoots 获取系统中所有的盘符

File[] arr = File.listRoots();  
System.out.println(Arrays.toString(arr));
复制代码

[图片上传失败...(image-170737-1671679210151)]

2.list() 获取当前路径下所有内容(仅仅能获取名字)

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹");  
String[] arr2 = file.list();  
for (String s : arr2) System.out.println(s);
复制代码

[图片上传失败...(image-2bb7f8-1671679210151)]

3.list(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容

File file1 = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹");  
String[] arr3 = file1.list(new FilenameFilter() {  
    @Override  
    public boolean accept(File dir, String name) {  
        File src = new File(dir, name);  
        return src.isFile() && name.endsWith(".txt");  
    }  
});  
System.out.println(Arrays.toString(arr3));
复制代码

[图片上传失败...(image-cba191-1671679210151)]

4.File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前该路径下所有内容

File file = new File("C:\\Users\\jc\\Desktop\\长生剑客的文件夹");  
File[] arr = file.listFiles(new FileFilter() {  
    @Override  
    public boolean accept(File pathname) {  
        return pathname.isFile() && pathname.getName().endsWith(".txt");  
    }  
});  

System.out.println(Arrays.toString(arr));
复制代码

结果:

[图片上传失败...(image-8dc4a4-1671679210151)]

5.调用listFiles(FilenameFilter filter)

File[] files = file.listFiles(new FilenameFilter() {  
    @Override  
    public boolean accept(File dir, String name) {  
        File src = new File(dir, name);  
        return src.isFile() && name.endsWith(".txt");  
    }  
});  
System.out.println(Arrays.toString(files));
复制代码

相关文章

  • 简易的javaFile类

    创建File对象: File的常用方法:

  • 你一定要富有

    你一定要富有 你一定要富有 因为富有会让成长为更好的自己 你一定要富有 因为富有会让你有更多无限可能 你一定要富有...

  • 女人,一定要会

    女人,你一定要会自己挣钱。 女人,你一定要会为自己打扮。 女人,你一定要先学会爱自己。 男人才...

  • 2017-06-16

    一定要努力。 你会嫉妒 ,你会羡慕 不要让这种心理占据你的内心 所以一定要努力到,你拥有了这些以及更多 首先就:早...

  • 十年后,我会成为白树瑾吗?

    “你会遇到很多麻烦,你会遇到很多困难,你会失去最好的朋友。但是,你一定要记得,你自己是谁。” ...

  • 不要幻想如果

    你会的,一定要全力已赴,不要有所保留。 你缺的,一定要参加学习,不要幻想如果。 你懂的,一定要与众分享, 不要奢望...

  • 人间至此冬色尽,春暖花开不久时

    一定要和优秀的人在一起, 这样你会更上进, 一定要和正能量的人在一起, 这样你会更阳光, 一定要和心地善良的人在一...

  • 你想成为谁就去靠近谁

    你一定要去挑战,去认识比你优秀的人, 即便你觉得认识他你会很紧张,你会很害怕,但你一定要靠近它, 而不是躲着这些人...

  • 你一定要相信,这世界上有人和你一样,虽然渺小但也坚强

    你会遇到很多麻烦,你会遇到很多困难,你会失去最好的朋友。但是,你一定要记得,你自己是谁。 ——《亲爱的...

  • 影响你很多年的一句话,人生经典语录大全

    请你一定要相信自己,一定要接受自己的样子,一定要让自己变成你真心会喜欢的样子。 在这个星球上,你很重要,请珍惜你的...

网友评论

      本文标题:你一定要会的JavaFile

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