小伙伴们知道药如何在java项目中判断一个文件是否存在于磁盘中吗?这时候我们就需要使用到file类了,下面我们就来看看它们都有什么方法吧。
一、File类的概述
对文件(File)和目录(Directory)路径名的抽象表示形式,也就是说让我们把文件或目录看成一个File对象,再调用该对象的方法进行操作。例如创建文件或目录,删除文件或目录。。。
二、两个字段的用法
pathSeparator separator //路径分隔符 File.pathSeparator //windows ; //linux : System.out.println(File.pathSeparator);// 分号 ; //名称分隔符 File.separator //windows 反斜杆 c:javaaaabbccca.txt //linux 正斜杆 / (除号) c:/java/aaa/bbb/ccc/a.txt //windows 转义符 c:\java\aaa\bbb\ccc\a.txt System.out.println(File.separator);// 反斜杆 //File对象和操作系统无关,所有操作系统都可以识别 //目的:在路径和名称写法上,不要写死,最好使用这两个字段来动态获取。
三、路径的用法
1、绝对路径
一个完整的路径,以盘符开始
c:\a.txt; d:\java\aaa\b.txt
2、相对路径
一个简化的路径,相对当前项目的根目录
例如:项目根目录(d:\java\aaa),如果使用当前项目的根目录,那路径就可以这么写:
d:\java\aaa\b.txt ---> b.txt
四、File的构造方法
package day180206; /* * File类的构造方法有三种形式。 * 三种重载形式 */ import java.io.File; public class FileDemo1 { public static void main(String[] args) { } /* * File(String pathname) * 传递路径名:可以写到文件夹,可以写到一个文件 * c:\abc 或者c:\abc\a.java * 为什么要加两个斜线呢?引文如果是单斜线那叫转义符,在加一个斜线就将转义符转义成普通斜线了。 * 将路径封装File类型对象 */ public static void function() { File file=new File("d:\eclipse"); System.out.println(file); } /* * File(String parent, String child) * 传递字符串父路径,传递字符串子路径 * 好处单独的操作父路径和子路径 */ public static void function_1(){ File file=new File("d:","eclipse"); System.out.println(file); } /* * File(File parent,String child) * 传递路径,传递file路径父路径,字符串子路径。 * 好处:父路径是File类型,父路径可以直接调用File类方法。 */ public static void function_2() { File parent = new File("d:"); File file=new File(parent,"eclipse"); System.out.println(file); } }
五、常用方法
1、判断
boolean exists() ;判断文件或目录是否存在
boolean isFile();判断是否是文件
boolean isDerectory();判断是否是目录
2、创建、删除
boolean createNewFile();创建该对象所表示的文件
boolean mkdir();创建该对象所表示的目录
boolean mkdirs();创建该对象所表示的目录(级联创建)
boolean delete();删除该对象所表示的文件或目录
3、遍历
-String[] list();遍历所有文件或目录,返回文件名数组
-File[] listFiles();遍历所有文件或目录,返回File对象
六、递归
1、什么是递归
在方法内调用自己,称为递归。
2、注意
1)递归一定要有条件限制,确保递归可以停下来,否则就会发生栈内存溢出。
2)就算有条件限制,也不要递归次数过多,否则也会发生栈内存溢出。
3)构造函数不能使用递归。
递归原理图:
以上就是关于java判断文件是否存在及file类概述的全部内容了,java的学习不进则退,如若还需要了解更多相关java常见问题,那就请一直关注我们的网站吧。
推荐阅读: