JAVA I/O(一) File类

输入输出流类处理的是文件内容读写的问题, File类表示文件和文件夹的存储的信息,比如文件位置,大小等

File类3种构造

File(File parent, String child) 
File(String pathname) 
File(String parent, String child) 
String path = "D:" + File.separator + "filetest";
File file = new File(path);
System.out.println(file);
//构建的File对象,传入的file对象作为根目录
File file2 = new File(file, "subfile");
System.out.println(file2);
//构建的File对象,传入的String对象作为根目录
File file3 = new File(path, "subfile");
System.out.println(file3);


File类常用方法:
getPath() 返回路径的字符串,相当于File类的toString()方法
getName() 返回文件名,不包括路径
exists() 文件/目录是否存在
mkdir():在存在的路径下创建1级子目录
mkdirs() 可以在存在的路径下创建多层目录
例子:
现在要在D盘下创建D:/ffffff/filetest/sub目录
String path2 = "D:" + File.separator + "ffffff" +File.separator + "filetest" + File.separator+ "sub";
File file = new File(path);
file.mkdirs();

file.mkdir()无法创建D:/ffffff/filetest/sub这种4层结构的目录,file.mkdirs()可以

isFile() 是否是文件
isDirectory() 是否是目录
length() 返回按字节(byte)度量的长度
createNewFile()  创建文件
getParent()  返回父目录的字符串,文件返回它的父目录,目录返回上级目录,根目录返回null
getParentFile() 返回父目录的File对象,同上

renameTo(File file) 改名,可以改后缀名,比如1.txt改为2.dat

getCanonicalPath() 文件规范路径名

getCanonicalFile() 文件规范路径File对象

delete() 删除文件,非目录

list() 列出File对象下的所有1级文件夹名字和文件名

例子:目录D:/filetest下,存放着folder1文件夹,test.txt,test2.txt

String path = "D:" +File.separator + "filetest";
File file = new File(path);
for (String s : file.list())
	System.out.println(s);

结果:
folder1
test.txt
test2.txt

与之对应的是listFiles(), 用法
for (File s : file.listFiles())
	System.out.println(s);

list(FilenameFilter filter)
返回符合FilenameFilter接口过滤条件的 文件名数组
用法:写一个类实现FilenameFilter接口,并且重写accept方法,在accept中写文件的过滤逻辑
例子:返回指定目录下后缀为txt的文件


class ExtensionFilter implements FilenameFilter {
	
	public ExtensionFilter(String ext) {
		extension = "." + ext;
	}


	@Override
	public boolean accept(File dir, String name) {
		return name.endsWith(extension);
	}
	
	private String extension;
}
.....main方法里:
	for (String s : file.list(new ExtensionFilter("txt")))
		System.out.println(s);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值