文件操作
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();