Java语言中提供有对文件操作系统操作的支持,在java.io.File类中进行了定义,在整个java.io包中,File类是唯一一个与文件本身操作(创建、删除、重命名等)有关的类。
File类是Comparable接口的子类,所以File类的对象是可以进行排序处理的。而在进行File类处理的时候需要设置访问路径,而对于路径的配置主要通过File类的构造方法实现:
构造方法:| | public File(String pathname);//设置操作完整路径 |
构造方法: | public File(File parent,String chile);//设置父路径与子目录 |
创建新文件: | public boolean createNewFile() throws IOException;//true表示文件不存在,可以创建;false表示文件存在,不能创建| |
判断文件是否存在: | public boolean exists(); |
删除文件: | public boolean delete(); |
因为Windows()与Linux(/)系统分隔符的不一致,在File类中提供了一个常量:public static final String separator;(旧)
File file = new File("d:"+File.separator+"test.txt");//正常的路径编写
但是随着系统的适应性不断加强,对于当前路径的操作,也可以随意使用(即Windows中可以使用“/”)。
需要注意的是,在使用File类进行文件处理的时候流程是:程序——JVM——操作系统函数——文件处理,所以在进行同一文件的反复创建与删除时可能会出现延迟的问题,为了避免该问题,最好的方案是避免重名。
在创建文件的时候,必须保证文件的父路径必须存在。
如何获取父路径: | public File getParentFile(); |
创建目录: | public boolean mkdirs(); |
可以通过File类获取一些文件本身提供的信息:
文件是否可读: | public boolean canRead(); |
文件是否可写: | public boolean canWrite(); |
获取文件长度: | public long length(); //该方法返货的是long数据类型,字节长度 |
最后一次修改日期时间: | public long lastModifed(); //返回long类型 |
判断是否是目录: | public boolean isDirectory(); |
判断是否是文件: | public boolean idFile(); |
列出目录内容: | public File[] listFiles(); |