在Java帮助文档中这样描述File类:文件和目录路径名的抽象表示形式。 用户界面和操作系统使用与系统相关的路径名字符串 来命名文件和目录。此类呈现分层路径名的一个抽象的、与系统无关的视图。
我们可以利用File类创建一个目录或者文件,下面我们先给出例子程序然后在详细的解释:
我们在第一个/*……*/之间,也就是6-10行,是一个可以执行的代码。File类有一个构造函数,需要传入一个路径,我们在第6行使用的是,相对路径。第9行使用的是绝对路径,但是这时候必须多写一个”\”用来转义”\”,否则程序会出错。
我们知道在windows下使用“\”作为分隔符,在Linux上使用“/”作为分隔符,我们写的程序不能只是在windows上运行,我们想它是跨平台的。在Java中提供了根据平台对应的分隔符,并且是以常量的形式给出的。在程序11-16行的时候,我们先用对应平台的分隔符创建了一个File对象,然后创建一个没有盘符的路径,然后调用File类的另一个构造方法,如13行所示。这样创建的对象f就是跨平台的。
同样我们也可以删除一个文件,如15行,这时候删除时直接删除的。也就是我们执行代码的时候就把文件或目录删除了。
File类也给我提供了在退出时删除文件的方法,如16行代码所示。这个文件将在我们的程序执行完的时候,删除文件。
我们利用deleteOnExit方法,可以在我们编写程序的时候,创建一些文件,等到我们程序运行完,这些临时文件再删除,不用人为删除。这里用到了一个createTempFile方法,这个方法在我们系统中默认存放临时文件目录的文件夹里创建临时文件。这个临时目录使我们环境变量TEMP指向的目录。17-22行创建了五个临时文件,等到程序结束的时候,删除文件。
File类也提供了读取文件或目录的方法list,我们可以利用这个方法输出我们想查看的目录中的文件和子目录,我们程序现在没有注释的代码实现的就是这个功能。List方法将文件或者目录都存储在一个String数组中,我们可以通过在这个数组中查找,来确定是否包含一个文件或目录。
有时候我们只是想提取一个目录中指定的文件或目录,这时候我们就可使用list的另一个方法,传递一个文件过滤器对象。然后就可以查出我们想要的文件。图中的代码使用的内部类实现的,返回值为1的时候,表示是我们所需要的。
File类中还有许多方法,读者可以自己通过研究Java帮助文档学习。
如果哪里写的不好或者错误,请提出意见或者指出错误。