----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
File类:用于将文件或文件夹封装成对象,便于操作文件或文件夹的属性信息。注意该类不能操作文件中的内容。
构造函数:
File(File parent,String child) |
File(String pathname) |
|
File(URI uri) 通过将给定的file: URI 转换为一个抽象路径名来创建一个新的 File 实例。 |
注意:通过构造函数只是创建了一个File对象,并没有在硬盘中创建文件(要创建文件要调用createNewFile());这点与FileOutputStream不同。
字段: separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。这是File中最常用的的字段。
常用的方法:
1、新建
createNewFile():文件不存在时创建相应文件(不能创建目录);文件若以存在则不再创建,这点与FileOutputStream不同,FileOutputStream会将原有文件覆盖掉。
mkdir(): 创建一级目录
mkdirs():创建多级目录
。。。
2、删除:
delete():如果是删除一个目录,此目录必须为空才能被删除。
deleteOnExit():声明此文件在虚拟机退出时被删除。
3、判断:
exists()
isFile():进行此判断前必须使用exists()判断文件或文件夹是否存在;
isDirectory():进行此判断前必须使用exists()判断文件或文件夹是否存在;
isAbsolute():判断File对象封装的是否是绝对路径,即使文件不存在也可判断,不用先调用exists().
。。。
4、获取信息:
getName()
getPath(): 返回File封装的路径字符串;
getAbsolutePath():即使File中封装的是相对路径,该方法仍会返回其绝对路径;
getParent():返回父目录的路径名字符串;如果封装时没有为该路径指定父目录,则返回 null;
(上面这几个方法都不要求文件确实存在)
lastModified():返回文件最后一次被修改的时间;
length():返回文件的字节长度;
list():调用此方法的File对象必须封装了一个目录,且该目录必须存在;
listRoots():列出可用的文件系统根;
。。。
此外,File中还有一个特殊方法renameTo(),该方法本身是用于重命名文件,但是可以用它实现移动文件的功能,代码如下:
import java.io.*;
public class FileDemo{
public static void main(String args[]) throws IOException{
File file=new File("D:\\k.txt");
File file2=new File("c:\\k.txt");
file.renameTo(file2);
}
}
改行代码会把D盘下k.txt文件移动到C盘下。