您的位置:首页 > 编程语言 > Java开发

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: