java File类的操作及案例

File类方法1.构造方法

获取 File 类有三种形式:

 

[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
<font style="color:rgb(77, 77, 77)"><font face="&quot"><font style="font-size:16px">1. File(String pathName);   根据当前路径获取File对象,可以是
文件,也可以是文件夹。
2. File(String parent, String child);    根据对应的父文件路径,
以及子文件或子文件夹名创建对应的 File 对象。
3. File(File parent, String child);     根据对应的父目录文件夹
File类对象,以及子文件 名或者子文件夹名,创建对应File </font></font></font>

 

 

[Java] 纯文本查看 复制代码
?
1
2
3
4
5
6
<font style="color:rgb(77, 77, 77)"><font face="&quot"><font style="font-size:16px">//获取E盘创建文件文件夹下的bbb
File file = new File("E:/创建文件/bbb");
//获取E盘创建文件文件夹下aaa 文件夹下的 1.txt
File file2 = new File("E:/创建文件/aaa", "1.txt");
//获取E盘创建文件文件夹下的bbb文件夹中的 bbb
File file3 = new File(file, "bbb");</font></font></font>

 

2.创建方法

[Java] 纯文本查看 复制代码
?
1
2
1. boolean createNewFile();     创建普通文件,创建成功返回true,失败返回false
2. boolean mkdir();         创建文件夹,创建成功返回true,失败返回false

 

[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
//第一种获取File对象方式
File file = new File("E:/创建文件/bbb");
// 第三中获取方式
File file3 = new File(file, "bbb");
//在 E:/创建文件/bbb 目录下创建 bbb 文件夹
System.out.println(file3.mkdir());
/*
*   在 E:/创建文件/bbb 目录下创建 bbb 文件
*   System.out.println(file3.createNewFile());
*/


3.删除方法

[Java] 纯文本查看 复制代码
?
1
2
1. boolean delete();    通过File类对象调用,删除对应的文件或者文件夹
2. void deleteOnExit();     程序退出时删除对应的文件或者文件夹


注意:
删除的文件或者文件夹都是直接抹除数据并非放入回收站内
不能删除非空的文件夹
4.判断文件属性
方法        作用
boolean isFile();        判断是否是一个普通文件
boolean isDirctory();        判断是否是一个文件夹
boolean isAbsolute();        判断是否使用了绝对路径
boolean isHidden();        判断是否是隐藏文件
boolean exists();        判断文件是否存在
5.获取文件属性
方法        作用
String getPath();        获取File类对象保存的路径
String getName();        获取当前File类对象中保存的文件名或者文件夹名
String getParent();        获取当前File类对象对应文件或者文件夹的父目录路径
String getAbsolutePath();        获取当File类对象对应文件或者文件夹的绝对路径
long lastModified()        获取文件的最后一次修改时间
long length();        获取文件的大小,占用硬盘空间字节数
以上方法的前4个方法哪怕对应文件不存在也不会报错
列表方法
方法        作用
static File[] listRoots();        获 取当前电脑内所有根盘符对象 (针对windows操纵系统)
File[] listFiles();        当前File类对象对应文件夹 下的所有子文件或者子文件夹
String[] list();        当前File类对象对应文件夹 下的所有子文件或者子文件夹的String类型文件名或者文件 夹名字
假设我的E盘创建文件文件夹下有一个bbb文件。
 

[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
File file = new File("E:/创建文件");
String[] listFiles = file.list();
for (String files : listFiles) {
    //此处只输出文件名 如 bbb(路径E:/创建文件/bbb)
    System.out.println(files);
}
File[] listFiles2 = file.listFiles();
for (File files : listFiles2) {
    //此处输出E:\创建文件\bbb
    System.out.println(files);
}


案例

如果在某路径下有一堆文件,现在让你将这些文件进行分类(比如txt文件,放在TXT文件夹下;ppt文件放在PPT文件夹下…)

代码

[Java] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// 目标文件夹的File类对象
  File file = new File("E\\创建文件");
  // 需要创建的文件夹类对象
  File toBeCreateDir = null;
  // 判断是否是文件夹
  if (!file.isDirectory()) {
     return;
  }
  // 当前文件夹已经归档完成,不需要再次归档
  if(new File(file, "1.lock").exists()) {
     System.out.println("已经归档完成");
     return;
  }
  // 当前文件夹下的所有子文件和子文件夹的File类对象数组
  File[] listFiles = file.listFiles();
   
  // 遍历File类对象数组
  for (File srcFile : listFiles) {
    // 如果是普通文件,获取文件后缀名
    if (srcFile.isFile()) {
     String fileName = srcFile.getName();
     /
     *  substing(int i);截取从i位置开始的字符串
     *  lastIndexOf(int ch) 字符最后出现的位置
     *  toUpperCase();转为大写字符
     */
     String upperSuffix = fileName.substring(fileName.lastIndexOf('.') + 1)
       .toUpperCase();
     toBeCreateDir = new File(file, upperSuffix);
    } else {
     toBeCreateDir = new File(file, "subDir"); 
    }
    // 创建文件夹
    toBeCreateDir.mkdir();
    // 移动文件或者文件夹
    srcFile.renameTo(new File(toBeCreateDir, srcFile.getName()));
  }
     // 创建一个锁文件
     new File(file, "1.lock").createNewFile();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值