Java File类的使用
2016-05-02 12:00
281 查看
简介:
本文主要讲的是对file类的使用,例如删除文件或目录、测试文件或目录是否存在、返回此抽象路径名父目录的路径名字符串、对指定目录下文件名的遍历(包括子目录,要用到递归)等等,总之此类只涉及文件(空壳子)不涉及文件内容。具体:
构造方法
示例:
public static void main(String[] args) { // TODO Auto-generated method stub // 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File f1 = new File("D:\\javafile"); System.out.println(f1.exists()); // 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 File f2 = new File("D:\\学习文件", "1.txt"); // 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 File f3 = new File("c:" + File.separator + "abc");// separator 跨平台分隔符 File f4 = new File(f3, "3.txt"); System.out.println(f1);// D:\javafile }
常用方法
删除:
示例代码:File f1 = new File("D:\\javafile"); System.out.println(f1.exists()); if (!f1.exists()) { try { // 当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。 f1.createNewFile(); System.out.println(f1.exists()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else f1.delete();
获取方法
1.String getName()2.String getPath()
3.String getAbsolutePath()
4.String getParent()//如果没有父目录返回null
5.long lastModified()//获取最后一次修改的时间
6.long length()
7.boolean renameTo(File f)
8.File[] liseRoots()//获取机器盘符
File f1 = new File("D:\\javafile"); System.out.println(f1.exists()); System.out.println(f1.getName());// javafile System.out.println(f1.getParentFile());// D:\ System.out.println(f1.getPath());// D:\javafile Date dt = new Date(f1.lastModified());// 要转换为date类型 System.out.println(dt);// Mon May 02 11:35:18 CST 2016 System.out.println(f1.length()); File f2 = new File("D:\\javaio"); System.out.println(f1.renameTo(f2) + "...............");
列出磁盘下的文件和文件夹
File[] files =File.listRoots(); for(File file:files){ System.out.println(file); if(file.length()>0){ String[] filenames =file.list(); for(String filename:filenames){ System.out.println(filename); } } }
文件过滤
File[] files = File.listRoots(); for (File file : files) { System.out.println(file); if (file.length() > 0) { String[] filenames = file.list(new FilenameFilter() { // file 过滤目录 name 文件名 public boolean accept(File file, String filename) { return filename.endsWith(".mp3"); } }); for (String filename : filenames) { System.out.println(filename); } } }
移动文件
File f1 = new File("d:\\"); moveFile(f1); } public static void moveFile(File dir){ File[] files=dir.listFiles(); for(File file:files){ if(file.isDirectory()) moveFile(file); else{ if(file.getName().endsWith(".java")) file.renameTo(new File("c:\\jad\\"+ file.getName().substring(0,file.getName().lastIndexOf('.'))+".jad")); } }
利用递归列出全部文件
File f =new File("e:\\音樂"); showDir(f); } public static void showDir(File dir){ System.out.println(dir); File[] files =dir.listFiles(); for(File file:files){ if(file.isDirectory()) showDir(file); else System.out.println(file); } }
相关文章推荐
- MyEclipse配置SVN
- 【Java学习-J.160430.0.15】笔记8-使用JDBC连接数据库
- Java 正则表达式
- spring boot 静态资源处理
- Java 自定义注解
- java循环
- jAVA接口回调
- Spring之DI简述
- Java 编译时多态和运行时多态
- Loadrunner中java Vuser协议脚本开发
- Hibernate hbm2java meta标签学习
- java学习-数组2
- 移位操作符
- 用Java写解谜RPG-3.MVC下的开始界面和所谓按钮
- java 实际场景下根节点 叶子节点 的不处理方法
- Java中的基础----JVM加载class文件的原理
- Java中String
- Java中String
- JAVA技术发展——你不知道的J2SE(三)
- Spring NamedParameterJdbcTemplate 详解