黑马程序员——File

------- android培训java培训、期待与您交流! ----------

File类对象可以代表一个路径,此路径可以是文件也可以是文件夹,该类方法可以对这个路径进行各种操作

File用来将文件或者文件夹封装成对象
方便对文件与文件夹的属性信息进行操作。
File对象可以作为参数传递给流的构造函数。

 

创建对象
给File类构造函数传一个String类型的路径就可以创建对象;也可以输入 目录,文件
路径分为两种:绝对路径,相对路径
绝对路径:从盘符开始,是一个固定的路径
相对路径:不从盘符开始,相对于某个位置。cmd则相对应于当前目录

 

File类方法

1,创建

boolean createNewFile()         创建文件,如果文件存在,则不创建返回false

boolean  mkdir();        创建文件夹(仅一级)
boolean  mkdirs();       创建文件夹(多级)

 

2,删除

boolean delete()            删除,文件可以直接删除,删除失败返回false

void deleteOnExit()         程序结束前删除文件指定文件

 

3,判断

boolean exists()        判断是否存在

boolean canExecute()              判断能否可执行文件

canRead();          是否可读

canWrite();   是否可写

boolean isDirectory();  是否是文件夹(先判断文件对象封装的内容是否存在)

boolean isFile();       是否是文件(先判断文件对象封装的内容是否存在)

boolean isHidden();     是否是隐藏文件

boolean isAbsolute();   是否是绝对路径

 

4,获取信息

getFreeSpace();    获取当前盘符剩余空间

getTotalSpace();   获取当前盘符总空间
getUsableSpace();  获取当前盘符可用空间
getParent());    获取绝对路径中父级路径,如果获取的是相对路径,返回null。有上级目录则返回
getName());      获取文件名

getAbsolutePath();      获取绝对路径

getPath();      获取相对路径

long lastModified();         获取文件的最后修改时间

long length();           文件大小

 

renameTo();         改名,可以移动文件

File[] listRoots();    有效盘符

String[] list();         获取当前目录下的所有文件和文件目录,包括隐藏的。如果File封装的是一个文件,那么返回的数组为null

File[] listFiles();    获取的是当前目录下文件或者文件夹对应的对象。如果仅获取文件名称,就用list方法。如果还要获取文件的其他信息,最好使用listFiles。因为可以获取到文件对象,这样就可以通过文件对象的方法,获取到其他的内容如文件大小、修改时间等

//列出指定目录下所有内容
class FileDemo{
	public static void main(String[] args) {
		File dir = new File("g:\\javajdk");

		showDir(dir);		
	}

	public static void showDir(File dir){
		sop(dir);

		File[] files = dir.listFiles();

		for (int x=0; x<files.length; x++){
			if(files[x].isDirectory())
				showDir(files[x]);
			else
				sop(files[x]);
		}
	}

	public static void sop(Object obj){
		System.out.println(obj);
	}
}


函数自身调用自身,称为递归。

递归条件:

1,限定条件

2,注意递归次数,避免内存溢出

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值