Java.io.File类操作心得
File类API为我们提供了一个通用的抽象文件,用于操作计算机中的文件和目录,采用Unix的思想,目录也被看作是一种文件,所以全部用File类来处理。
创建一个File类的实例,其初始化值就意味着加载待处理的相应文件(或目录),比如:
File objDir = new File(“D:/XP/test”);
File objFile = new File(“D:/XP/test/filename.txt”);
注意:可以统一使用 / 来表示目录,Unix系统如此,Windows系统还可以使用 //
下面用这两个实例来分别创建目录和文件:
创建目录有两个方法:
1. objDir.mkDir(); 返回一个boolean表示创建成功与否,只能在已有目录下创建(子目录)
2. objDir.mkDirs();返回一个boolean表示创建成功与否,即使父目录不存在也能够创建。例如:当 File objDir = new File(“ hehe/dir ”); 表示在当前相对目录下再创建两级目录hehe/dir,这时使用mkDirs()方法才行,而mkDir()方法失败。注意:如果new File(“/hehe/dir”);表示从当前盘符的根目录(D:/)创建,由于这个根目录总是存在的,所以mkDir()方法也能创建成功,却往往不是我们所要的结果。
创建了目录就可以创建文件了,如果在不存在的目录下创建文件会抛出异常。
objFile. createNewFile ();返回一个boolean表示创建成功与否,这样就创建了一个空文件:D:/XP/test/filename.txt
下面可以查看文件的名称、大小、路径、父目录、可读可写状态、判断文件是否存在、是否是一个目录或是文件、获取文件最后修改的时间、修改文件名,删除文件或目录等。
方法名如下:
System.out.println("绝对路径:" + objFile.getAbsolutePath());
System.out.println("相对路径:" + objFile.getPath());
System.out.println("父目录:" + objFile.getParent());
System.out.println("是否可读:" + objFile.canRead());
System.out.println("是否可写:" + objFile.canWrite());
System.out.println("文件长度:" + objFile.length());
//要使用文件所在的目录来取里面的list,再通过循环来进行处理
System.out.println("所在目录文件列表:" + (int) (objDir.list().length));
System.out.println("文件名:" + objFile.getName());
System.out.println("文件存在否:" + objFile.exists());
System.out.println("文件删除成功否:" + objFile.delete());
注:要删除一个目录objDir.delete();必须要目录为空才行,如果目录不为空,可以使用objDir.list()获取当前目录下的文件列表String[],循环将其中的文件删除后继而删除目录