Java #File类的常用方法

从持久化存储设备将数据读取到内存 Input操作 输入流

从内存将数据写入到持久化设备        Output操作 输出流

数据在设备中是以文件(File)的形式体现,所以Java中以File类来描述文件和目录(文件和目录都可以是一个File对象)

public class FileDemo {

	public static void main(String[] args) {
		
		//"\\"第一个"\"为转义符
		File f1 = new File("E:\\project java\\OO(Object-Orientde)\\4\\文件夹1\\新建文本文档.txt");
		//绝对路径
		
		File f2 = new File("文件1");
		//相对路径
		
		File f3 = new File("Q.txt");
		//如果路径不存在 也可以去创建一个文件对象,此时的路径 Java不去检测它的存在性
		
		File f4 = new File("E:\\project java\\OO(Object-Orientde)\\4\\文件夹1\\","新建文本文档.txt");
		//文件目录,文件名
		
		File parent = new File("E:\\project java\\OO(Object-Orientde)\\4\\文件夹1");
		File f5 = new File(parent,"新建文本文档.txt");
		//parent 文件的父目录/所属目录 以一个文件对象形式存在
		//child  文件的名称/路径
		
		File f6 = new File("E:"+File.separator+"project java"+File.separator+"OO(Object-Orientde)"+File.separator+"4"+File.separator+"文件夹1"+File.separator+"新建文本文档.txt");
		//并不是所有的操作系统文件的分隔符 都是 \
		//为了统一操作 Java在File类中 有这么一个字段
		//static String separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。 
		//具体是什么分隔符 有JVM(操作系统)来决定 
	}
}

File类的方法:

f1.getAbsolutePath();

System.out.println(f1.getAbsolutePath());
System.out.println(f2.getAbsolutePath());
//获取文件对象的绝对路径-字符串
打印结果>>>
E:\project java\OO(Object-Orientde)\4\文件夹1\新建文本文档.txt
E:\project java\OO(Object-Orientde)\4\work4_FileDemo\文件1

 f1.getAbsoluteFile();

File parent1 = f1.getAbsoluteFile();
File parent2 = f2.getAbsoluteFile();
//获取文件对象的绝对路径-文件对象

f7.createNewFile();

注意:

需要声明异常

public static void main(String[] args) throws IOException{
    .....
    f7.createNewFile();
}
File f7 = new File("新文件1");
System.out.println(f7.createNewFile());
//创建f7文件
//true  说明文件不存在 且创建成功 ,默认目录为该项目的目录
//false 说明文件存在 且没有创建 也不是覆盖
		
File f8 = new File("Wj.txt");//带后缀名
f8.createNewFile();

 f9.mkdir();

File f9 = new File("Dir1"); //文件和目录不能够用名称来分别
System.out.println(f9.mkdir());
//创建一个目录对象
//true  说明目录不存在 且创建成功
//false 说明目录存在 且没有创建 也不是覆盖
//目录也可以存在后缀名 但是没有任何意义的

f10.mkdirs();

File f10 = new File("Dir1\\Dir2\\Dir3");
f10.mkdirs();//会在Dir1目录下创建多级目录

f7.delete();

System.out.println(f7.delete());
//删除文件
//true 说明文件存在 且被删除
//false说明文件不存在 则不删除

f10.delete();
//删除目录
//机制:
//	1.删除后的文件/目录 不走回收站 直接删除 慎用!
//	2.如果一个目录中有多个文件或其他目录 则不能删除!只能一个一个删

f1.exists();

System.out.println(f1.exists());
//true 表示该文件/目录存在
//false 表示不存在

f1.isFile();

//判断该对象是否是一个文件

f1.isDirectory();

//判断该对象是否为一个目录

f9.list();

f9.list();//获取该目录下的文件和目录,返回一个String[]
String[] fileNames = f2.list(new FilenameFilter() {
	//所接受的文件名
	@Override
	public boolean accept(File dir, String name) {
				
		return name.startsWith("Class");//返回文件名开头为Class的文件和目录
	}
});

f9.listFiles();

File[] lisF=f9.listFiles();//获取当前目录下的文件和目录,返回一个File[]

File[] files = f9.listFiles(new FilenameFilter() {
			
	@Override
	public boolean accept(File dir, String name) {
		return name.endsWith(".java");//返回后缀名为.java的文件
	}
});

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值