java.io包中File类
发表于2011-8-24 15:49:00 点击率:204人次
File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件,通过调用File类提供的各种方法,能够完成创建、删除文件,重命名文件,判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等操作。
Java
能正确处理UNIX和Windows/DOS约定路径分隔符。如果在Windows版本的Java下用斜线(/),路径处理依然正确。记住,如果使用Windows/DOS使用反斜线(\)的约定,就需要在字符串内使用它的转义序列(\\)。Java约定是用UNIX和URL风格的斜线来作路径分隔符。
下面的构造方法可以用来生成File 对象:
File(String directoryPath)
这里,directoryPath是文件的路径名。
File 定义了很多获取File对象标准属性的方法。例如:getName( )用于返回文件名,getParent(
)返回父目录名,exists(
)方法在文件存在的情况下返回true,反之返回false。然而File类是不对称的,意思是虽然存在可以验证一个简单文件对象属性的很多方法,但是没有相应的方法来改变这些属性。下面的例子说明了File的几个方法:
范例:FileDemo.java
01 import java.io.*;
02 public class FileDemo
03 {
04 public static void main(String[] args)
05 {
06 File f=new File("c:\\1.txt");
07 if(f.exists())
08 f.delete();
09 else
10 try
11 {
12 f.createNewFile();
13 }
14 catch(Exception e)
15 {
16 System.out.println(e.getMessage());
17 }
18 // getName()方法,取得文件名
19 System.out.println("文件名:"+f.getName());
20 // getPath()方法,取得文件路径
21 System.out.println("文件路径:"+f.getPath());
22 // getAbsolutePath()方法,得到绝对路径名
23 System.out.println("绝对路径:"+f.getAbsolutePath());
24 // getParent()方法,得到父文件夹名
25 System.out.println("父文件夹名称:"+f.getParent());
26 // exists(),判断文件是否存在
27 System.out.println(f.exists()?"文件存在":"文件不存在");
28 // canWrite(),判断文件是否可写
29 System.out.println(f.canWrite()?"文件可写":"文件不可写");
30 // canRead(),判断文件是否可读
31 System.out.println(f.canRead()?"文件可读":"文件不可读");
32 /// isDirectory(),判断是否是目录
33 System.out.println(f.isDirectory()?"是":"不是"+"目录");
34 // isFile(),判断是否是文件
35 System.out.println(f.isFile()?"是文件":"不是文件");
36 // isAbsolute(),是否是绝对路径名称
37 System.out.println(f.isAbsolute()?"是绝对路径":"不是绝对路径");
38 // lastModified(),文件最后的修改时间
39 System.out.println("文件最后修改时间:"+f.lastModified());
40 // length(),文件的长度
41 System.out.println("文件大小:"+f.length()+" Bytes");
42 }
43 }
输出结果:
文件名:1.txt
文件路径:c:\1.txt
绝对路径:c:\1.txt
父文件夹名称:c:\
文件存在
文件可写
文件可读
不是目录
是文件
是绝对路径
文件最后修改时间:1122277108000
文件大小:0 Bytes
在File类中还有许多的方法,读者没有必要去死记这些用法,只要记住在需要的时候去查Java的API手册就可以了