android File类的使用
1、File类位于Java io包下,代表文件或者目录,Java文件类以抽象的方式代表文件名和目录路径名。该类主要用于文件和目录的创建、文件的查找和文件的删除等。但无法操作文件/目录本身,因为File并不能访问文件本身的任何内容。File对象代表磁盘中实际存在的文件和目录。如果需要操作这个文件,需要使用输入输出流
2、如下图所示,File f = new File("D:\\hello.txt");
就这样一行代码,就完成了File类的创建。此时,f就代表了D盘的hello.txt。不要被名字所迷惑,我虽然起名为hello.txt,但未必就是文件哦,也可能是一个目录叫hello.txt.
就是说,如果hello.txt不存在,f中就会有相应的值记录“这个文件不存在”。如果这个文件存在,f中也会有相应的值记录“这个文件存在”,并会有另一个值记录这个是文件还是文件夹。
3、简单使用下,我们来判断这个文件是否存在。
System.out.println("这个文件是否存在:" + f.exists());
如下图所示,这个文件是不存在的
4、下面,我们手动在D盘创建一个文件:hello.txt.
然后,我们再增加2行代码,判断是否为文件/目录
System.out.println("是否是个目录:" + f.isDirectory());
System.out.println("是否是个文件:" + f.isFile());
由运行结果来看,第一个为false,说明不是一个目录;
第二个为true,说明是个文件
5、现在,我们删除之前创建的hello.txt文件,创建一个hello.txt目录。在运行下代码,发现一个为true,说明是个目录;第二个为false,说明不是个文件。
6、那如果我们不想手动创建文件/目录,想直接通过创建文件/目录呢
if (!f.exists()){
System.out.println("文件不存在,将创建一个目录");
f.mkdir();
}
如果文件不存在,我将创建一个目录
7、创建文件就改为:f.createNewFile();如果需要增加异常处理。
if (!f.exists()){
System.out.println("文件不存在,将创建一个文件");
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
8、如果想获取当前文件的路径呢?
OK,现在我们在D盘创建一个文件夹alsp,在这文件夹中创建一个文件hello.txt,所以,路径为
D://alsp/hello.txt.
然后使用如下图代码:
File f = new File("D:\\alsp/hello.txt");
System.out.println(f);
直接打印f,得到的结果为:D:\alsp\hello.txt。
将文件的路径直接打印出来了
9、还可以获取文件名
System.out.println(f.getName());
10、还有其他用法,比如f.getAbsolutePath(),f.getCanonicalPath(),f.getParent()等,可以自己试试喽