萌新学Java之初入门径七----File类

File类

  • 1.表示文件
  • 2.表示文件夹
  • 3.表示路径(可以是错误路径)

路径分割符

  • /Users/…./Desktop
  • C:\
  • mac: / :
  • win: \ ;
绝对路径(硬盘上的真实位置)
  • /Users/lfajio/Desktop/Test
相对路径
  • 路径是相对于当前工程
  • 注意:使用相对路径 不能以 / 开头
  • 如果路径以 / 开头 系统会默认以绝对路径去寻找文件

1.//路径分割符

  String s1 = File.pathSeparator;
    System.out.println(s1);
    String s2 = File.separator;
    System.out.println(s2);

2.//File类构造方法

File file1 = new File(“src/gorilla.txt”);

//判断该路径是否存在

  boolean b = file1.exists();

//获取绝对路径

  String absolutePath = file1.getAbsolutePath();

//获取传入路径

  String path = file1.getPath();
    System.out.println(path);
    System.out.println(b);
    System.out.println(file1.toString());
    System.out.println(absolutePath);

3.//判断方法
//判断一个路径是否存在

>File file1 = new File("/Users/lanou/Desktop/Test/wl.txt");

//判断一个路径是否都是文件

boolean file = file1.isFile();
System.out.println(file);

//判断一个路径是否是文件夹

  boolean directory = file1.isDirectory();
    System.out.println(directory);

4.//创建方法

>   File file1 = new File("/Users/lanou/Desktop/Test/wanglong.txt");

//创建文件
//注意:
//1.该文件只会创建一次
//2.该方法只能创建文件
//3.不填后缀名 创建出来的也是文件

boolean createNewFile = file1.createNewFile();
System.out.println(createNewFile);

//创建单个文件夹方法
//注意:即使带上文件后缀 创建出来的也是文件夹

File file2 = new File(“/Users/lanou/Desktop/Test/b/a/c”);
boolean b2 = file2.mkdir();
System.out.println(b2);

//创建多层级文件夹方法(单层级也能创建出来)

boolean b3 = file2.mkdirs();
System.out.println(b3);

5.//删除方法
//1.可以删除文件
//2.可以删除空文件夹

File file1 = new File(“/Users/lanou/Desktop/Test/wanglong.txt”);
boolean delete = file1.delete();
System.out.println(delete);
File file2 = new File(“/Users/lanou/Desktop/Test/b/a”);
boolean delete2 = file2.delete();
System.out.println(delete2);

6.//获取文件夹下所有文件

File file1 = new File(“/Users/lanou/Desktop/Test”);
//只能获取一级目录的文件
String[] list = file1.list();
System.out.println(Arrays.toString(list));
File[] listFiles = file1.listFiles();
//以文件类型返回
System.out.println(Arrays.toString(listFiles));

7. 文件过滤器

class MyFileFilter implements FileFilter{

/*
 * 实现接口的过滤方法
 * 返回false  数组中没有该文件数据
 * 返回true   数组中保存了 所有一级目录的文件(跟不传一样)
 * 参数 File pathname  :  一级目录下所有文件
 * 
 * 根据接口中这个方法返回值
 * true  就会把该文件传入listFiles(File pathname)所生成的数组中
 * false  不传入
 * 
 * 综上: listFiles数组中保存什么
 *      完全根据这个方法返回值来看
 */

@Override
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
System.out.println(“这是文件夹”);
return false;
}
System.out.println(“这是文件”);
return true;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值