Java基础_File

1、 File

1.1、概念

文件和目录路径名的抽象表示形式,具有平台无关性。

将操作系统中的文件、目录(文件夹)和路径,封装成File对象;
提供方法操作系统中的内容;
File是与系统无关的类;
java.lang.Object
  继承者 java.io.File
所有已实现的接口: 
   Serializable, Comparable<File> 

1.3、File类的静态成员变量

1.3.1、与路径有关的路径分隔符
String s=new File.pathSeparator;
sysout.out.println(s);
//输出结果为一个分号,目录的分割。linux为:
1.3.2、与系统有关的默认名称分隔符
String s=new File.separator;
sysout.out.println(s);
//输出结果为一个\,目录的分割。linux为 /

2、File对象的实例化

**构造方法:**这些对象实例化后只存在于内存层面
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。

File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。

File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

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

相对路径:相对于某个路径下指明的路径
绝对路径:包含盘符在内的文件或文件目录

			File file1 = new File("hello.txt");
            System.out.println(file1);

            File file2 = new File("F:\\idea_ws\\IOStudy\\FileTest\\hello.txt");
            System.out.println(file2);
            
            File file3 = new File("F:\\idea_ws\\IOStudy", "\\FileTest");
            System.out.println(file3);
            
            File file4 = new File(file3, "hello.txt");
            System.out.println(file4);

3、File类的创建和删除功能

主要对文件或目录进行操作

File创建文件的功能

// 对文件或者文件加进行操作。
File file = new File("xxxx");
// 创建文件,如果文件不存在,创建 true;
// 如果文件存在,则不创建 false。如果路径错误,抛出IOException。
boolean b1 = file.createNewFile();

File创建文件夹功能

//mkdir()创建单个目录。file.mkdirs();创建多级目录
boolean b2 = file.mkdir();

File类的删除功能

//删除的文件或文件夹,在File构造方法给出
//删除方法不走回收站,直接从硬盘中删除
 boolean b3 = file.delete();

4、File类的获取功能

public class FileGetMenthodDemo {
	public static void main(String[] args) {
		//创建文件对象
		File file = new File("c:\\demo.java");
		//获取文件的绝对路径,即全路径
		String absPath = file.getAbsolutePath();
		//File中封装的路径是什么获取到的就是什么。
		String path = file.getPath();
		//获取路径中最后部分文件名称
		String filename = file.getName();
		//获取文件大小
		long size = file.length();

		System.out.println("绝对路径absPath="+absPath);
		System.out.println("路径path="+path);
		System.out.println("filename="+filename);
		System.out.println("size="+size);
	}
}

list()方法和listFiles()方法

public static void main(String[] args) {
	File dir = new File("e:\\java");
	//获取的是当前目录下的文件以及文件夹的名称。
	String[] names = dir.list();
	//遍历
	for(String name : names){
		System.out.println(name);
	}
	//获取目录下当前文件以及文件对象
	File[] files = dir.listFiles();
	for(File file : files){
		System.out.println(file);
	}
}
}

5、File类的判断功能

//判断文件,目录
File f = new File("e:\\demo.java");// 要判断是否是文件还是目录,必须先判断存在。
boolean b3 = file.exists();
System.out.println("b3="+b3);
System.out.println(f.isFile());
System.out.println(f.isDirectory());

6、文件过滤器

public class FileDemo1 {
	public static void main(String[] args) {
		//获取扩展名为.java所有文件
		//创建File对象
		File file = new File("E:\\java\\file");
		//获取指定扩展名的文件,由于要对所有文件进行扩展名筛选,因此调用方法需要传递过滤器
		File[] files = file.listFiles(new MyFileFilter());
		//遍历获取到的所有符合条件的文件
		for (File f : files) {
			System.out.println(f);
		}
	}
}
//定义类实现文件名称FilenameFilter过滤器
class MyFileFilter implements FilenameFilter{
	public boolean accept(File dir, String name) {
		return name.endsWith(".java");
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值