------- 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,注意递归次数,避免内存溢出