首页 > 代码库 > Java的File类
Java的File类
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 block e.printStackTrace(); } dir.mkdir();//试图创建一个File对象所对应的目录,若果创建成功返回true,否则返回发false dir.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() { @Override public 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与平台无关的路径分割符:斜杠(/)。
Java的File类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。