java中File类的使用

File类的的基本概念
File类:表示文件和目录路径的抽象表示形式。
File类可以实现文件的创建、删除、重命名、得到路径、创建时间等等,是唯一与文件本身有关的操作类。

File类的操作方法
在这里插入图片描述
文件类的操作方法:
在这里插入图片描述
代码实例:

package com.booy;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class FileDemo {

	public static void main(String[] args) {
		//File表示一个文件或目录
		//
		File f1 =new File("d:"+File.separator+"test"+File.separator+"test.txt");
		if(!f1.exists()) {//判断文件是否存在
			try {
				f1.createNewFile();//创建文件
				System.out.println("文件创建成功!");
			} catch (IOException e) {
				e.printStackTrace();
				
			}
		}
		//f1.isFile()是否是文件
		System.out.println("是否为文件夹:"+f1.isDirectory());
		
		File f2 =new File("d:\\test\\my");
		boolean b = f2.delete();//删除空文件夹
		System.out.println("是否删除文件夹成功:"+b);
		
		String[] names = f2.list();//列出当前目录下的所有文件名
		System.out.println(Arrays.toString(names));
		
		File[] fs =f2.listFiles();//列出当前目录下的所有文件,以file对象返回
		for(File f:fs) {
			System.out.println("length:"+f.length());
			System.out.println("name:"+f.getName());
			System.out.println("相对路径=:"+f.getPath());
			System.out.println("相对路径=:"+f.getAbsolutePath());
			System.out.println("是否为隐藏文件:"+f.isHidden());
			System.out.println("是否为可读文件:"+f.canRead());
			System.out.println("是否为可写文件:"+f.canWrite());
			Date date = new Date(f.lastModified());
			DateFormat df = new SimpleDateFormat("HH:mm:ss");
			System.out.println("文件最后修改的时间:"+df.format(date));
			System.out.println("-------------------");
		}		
			//创建文件夹
			File f3 =new File("d:\\test\\booy");
			f3.mkdirs();
			//重命名文件夹与移动文件
			//f3.renameTo(new File("d:\\test\\booy123"));
			
			File f5 =new File("d:\\test\\my");
			File[] files = f5.listFiles(new FileFilter() {
				
				@Override
				public boolean accept(File pathname) {
					return pathname.getName().endsWith(".txt");
				}
			});		
			for(File f:files) {
				System.out.println(f.getName());
			}
	}
}
/**
运行结果:
是否为文件夹:false
是否删除文件夹成功:false
[111.txt, 新建 Microsoft Excel 工作表.xlsx, 新建 Microsoft Word 文档.docx, 新建文件夹, 新建文本文档 (2).txt]
length:0
name:111.txt
相对路径=:d:\test\my\111.txt
相对路径=:d:\test\my\111.txt
是否为隐藏文件:false
是否为可读文件:true
是否为可写文件:true
文件最后修改的时间:21:45:18
-------------------
length:8840
name:新建 Microsoft Excel 工作表.xlsx
相对路径=:d:\test\my\新建 Microsoft Excel 工作表.xlsx
相对路径=:d:\test\my\新建 Microsoft Excel 工作表.xlsx
是否为隐藏文件:false
是否为可读文件:true
是否为可写文件:true
文件最后修改的时间:21:45:30
-------------------
length:0
name:新建 Microsoft Word 文档.docx
相对路径=:d:\test\my\新建 Microsoft Word 文档.docx
相对路径=:d:\test\my\新建 Microsoft Word 文档.docx
是否为隐藏文件:false
是否为可读文件:true
是否为可写文件:true
文件最后修改的时间:21:45:25
-------------------
length:0
name:新建文件夹
相对路径=:d:\test\my\新建文件夹
相对路径=:d:\test\my\新建文件夹
是否为隐藏文件:false
是否为可读文件:true
是否为可写文件:true
文件最后修改的时间:21:45:10
-------------------
length:0
name:新建文本文档 (2).txt
相对路径=:d:\test\my\新建文本文档 (2).txt
相对路径=:d:\test\my\新建文本文档 (2).txt
是否为隐藏文件:false
是否为可读文件:true
是否为可写文件:true
文件最后修改的时间:09:06:51
-------------------
111.txt
新建文本文档 (2).txt

指定目录查找文件示例:

package com.booy;

import java.io.File;

public class FileDemo2 {

	public static void main(String[] args) {
		findFile(new File("d:\\test"),".jpg");
	}
	
	//查找文件的方法
	private static void findFile(File target,String ext) {
		if(target==null)return;
		//如果文件是目录
		if(target.isDirectory()) {
			File[] files = target.listFiles();
			if(files!=null) {
				for(File f:files) {
					findFile(f,ext);//递归调用
				}
			}
		}else {
			String name = target.getName().toLowerCase();//获取文件名转换为小写
			if(name.endsWith(ext)) {
				System.out.println(target.getAbsolutePath());//获取文件的路径
			}
		}
	}
}
/**
运行结果:
d:\test\1.jpg
d:\test\3.jpg
d:\test\my\2.jpg
*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值