Java的File类

来源:互联网 发布:慢动作视频制作软件 编辑:程序博客网 时间:2024/05/17 17:56

1.File类概述

File类是java.io包下代表与平台无关的文件和目录。File能新建,删除,重命名文件盒目录,但是File不能访问文件内容本身。如果要访问文件内容本身,就需要使用输入,输出流。

2.访问文件和目录

File类可以使用文件路径字符串来创建File实例,该路径可以是绝对路径也可以是相对路径。在默认情况下,系统总是依据用户的工作路径来解释相对路径,这个路径由系统属性"user.dir"指定。

import java.io.File;import java.io.IOException;public class FileTest {public static void main(String[] args) {String path="src/com/t/file.txt";File file=new File(path);//新建一个File实例                File dir=new File("src");//新建一个File实例/* * 访问文件名或目录名相关的方法 */file.getName();//获取文件名file.getPath();//获取相对路径名file.getAbsolutePath();//获取绝对路径名file.getParent();//获取父路径名(即文件或目录所在目录)file.renameTo(new File("src/com/t/lavor_zl.txt"));//重命名此File对象所对应的文件或目录,如果重命名成功返回true,否则返回false/* * 文件或目录检测方法,返回类型是boolean,若为真返回true,若为假返回false */file.exists();//判断File对象所对应的文件或目录是否存在file.canWrite();//判断File对象所对应的文件或目录是否可写file.canRead();//判断File对象所对应的文件或目录是否可读file.canExecute();//判断File对象所对应的文件或目录是否可执行file.isFile();//判断File对象所对应的对象是否是文件file.isDirectory();//判断File对象所对应的对象是否是目录file.isAbsolute();//判断File对象所对应的文件或目录是否是绝对路径/* * 获取常规文件或目录信息 */file.lastModified();//返回文件或目录最后修改时间file.length();//返回文件或目录的内容的长度/* * 文件和目录操作相关方法 */try {file.createNewFile();//当此File对象所对应的文件不存在时,创建一个File对象所指定的新文件,若果创建成功则返回true,否则返回false} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}dir.mkdir();//试图创建一个File对象所对应的目录,若果创建成功返回true,否则返回发falsedir.list();//列出File对象的所有子文件名和路径名,返回String数组dir.listFiles();//列出File对象的所有子文件和路径,返回File数组file.deleteOnExit();//注册一个删除钩子,指定当Java虚拟机退出时,删除File对象所对应的文件或目录file.delete();//删除File对象所对应的文件或目录}}

3.文件过滤器

在File类的lsit()方法中可以接受一个FilenameFilter参数,通过该参数可以只列出符合条件的文件。
FilenameFilter接口里包含了一个accep(File dir,String name)方法,该方法将依次对指定File的所有子目录或者文件进行迭代,如果该方法返回true,则list()方法会列出该子目录或文件。

import java.io.File;import java.io.FilenameFilter;public class FilenameFilterTest {public static void main(String[] args) {File dir=new File("src");//创建一个目录的实例System.out.println(dir.getAbsolutePath());String[] nameList=dir.list(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return name.endsWith(".java");//如果文件名以.java结束,则返回true}});try{for(String name:nameList){System.out.println(name);}}catch(NullPointerException e){e.printStackTrace();}}}

PS:Windows的路径分隔符是反斜杠(\),而反斜杠(\)在Java程序中代表转移字符,所以在Windows下使用路径分隔符时要用双反斜杠(\\),或者使用Java与平台无关的路径分割符:斜杠(/)。

2 0
原创粉丝点击