---------------------- android培训 、java培训 、期待与您交流! ----------------------
File 类
File file = new Fiel("文件路径") 创建文件对象
File file = new Fiel("文件所在目录","文件名称") 创建文件对象 ,把目录和文件名作为不同参数
File.separator 跨平台分隔符
File类常见方法:
1 创建
boolean createNewFile();在指定位置创建文件,如果该文件已经存在,则不创建,返回false
boolean mkdir(); 创建文件夹,最多只能创建2级文件夹
boolean mkdirs(); 创建多级文件夹
2 删除
boolean delete();删除文件。 删除失败返回false
boolean deleteOnExit();在程序退书时删除
3 判断
boolean canExecute(); 文件是否能执行
boolean canRead(); 文件是否能读取
boolean canWrite(); 文件是否能修改
int compareTo(File); 按照字母顺序比较文件。
boolean exists(); 判断文件是否存在
boolean isDirectory(); 判断是否是目录,如果不存在也会返回false
boolean isFile(); 判断是否是文件 如果不存在也会返回false
boolean isHidden; 判断是否是一个隐藏文件
boolean isAbsolute 判断是否是绝对路径
4 获取
getNmae() 返回文件名
getParent() 返回绝对路径中的父目录,没有明确指定父目录返回null
getPath(); 获取相对路径
getAbsolutePath();获取绝对路径
long lastModified(); 返回最后一次文件被修改的时间
long length(); 返回文件长度
String[] list(FilenameFilter filter) 按指定条件过滤文件。FilenameFilter 是一个接口,含有一个过滤文件的方法 。可以用匿名内部类方式重写该方法。
String[] list(); 返回该文件目录下面的所有文件和文件夹名称(包含隐藏文件).放入一个String数组里面
File[] listFiles() 返回file数组对象
File[] listRoots();返回所有根目录
5 修改
renameTo();把原文件名修改问新的文件名(包括目录),类似于剪切
递归
函数自身调用自身的表现形式或者编程手法,成为递归。
1 递归要注意使用的前提条件
2 要注意递归的次数,避免导致内存溢出。
//打开目录中的文件,如果打开的还是一个目录,则继续打开 用递归方式
public class ReaderTest {
public static void main(String[] args) throws IOException {
File fi = new File("e:/heima");
show(fi);
}
public static void show(File file) {
System.out.println(file);
File[] fi = file.listFiles();
for (int i = 0; i < fi.length; i++) {
if (fi[i].isDirectory()) {
show(fi[i]);
}
System.out.println(fi[i]);
}
}
}
---------------------- android培训 、java培训 、期待与您交流! ----------------------