程序可能经常需要获取磁盘上文件的有关信息或在磁盘上创建新的文件等,这就需要学习使用File类。需要注意的是,File类的对象主要用来获取文件本身的一些信息,例如:文件所在的目录、文件的长度或文件读写权限等,不涉及对文件的读写操作。
创建一个File对象的构造方法有三个:
1)File(String filename);
2)File(String directoryPath,String filename);
3)File(File dir,String filename);
其中,filename是文件名字,directoryPath是文件的路径,dir为一个目录。使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一目录中。
常用的File类的方法如下:
1)public String getName()
获取文件的名字。
2)public boolean canRead()
判断文件是否是可读的。
3)public boolean canWrite()
判断文件是否可被写入。
4)public boolean exists()
判断文件是否存在。
5)public long length()
获取文件的长度(单位是字节)。
6)public String getAbsolutePath()
获取文件的绝对路径。
7)public String getParent()
获取文件的父目录。
8)public boolean isFile()
判断文件是否是一个普通文件,而不是目录。
9)public boolean isDirectory()
判断文件是否是一个目录。
10)public boolean isHidden()
判断文件是否是隐藏文件。
11)public long lastModified()
获取文件最后修改的时间(时间是从1970年午夜至文件最后修改时刻的毫秒数)。
例如,创建一个名字为new.txt的新文件:
import java.io.*; public class Main { public static void main(String args[]) { File f = new File("C:\\ch10","Main.java"); System.out.println(f.getName()+"是可读的吗: "+f.canRead()); System.out.println(f.getName()+"的绝对路径:"+f.getAbsolutePath()); File file = new File("new.txt"); System.out.println("在当前目录下创建新文件"+file.getName()); if(!file.exists()) { try { file.createNewFile(); System.out.println("创建成功"); } catch(IOException exp) {} } } }
运行结果如下:
C:\ch10>java.Main Main.java是可读的吗:true Main.java的绝度路径:C:\ch10\Main.java 在当前目录下创建新文件new.txt 创建成功
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程