java的File类
File类是java中表示文件和目录名的抽象表示形式。File类可以实现文件的创建,删除,重命名,获取路径,创建时间等等,是唯一一个与文件本身有关的操作。
主要使用方法:
File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件长度、文件读写权限等,不涉及对文件的读写操作。
一、File类的构造方法有:
File(String filename); //filename为文件名,该文件与当前应用程序在同一目录中
File(String directoryPath,String filename); //directoryPath是文件路径
File(file f,String filename); //f是指定成目录的一个文件
二、文件属性
1.public String getName(); //获取文件的名字
2.public boolean canRead(); //判断文件是否可读
3.public boolean canWrite(); //判断文件是否可写
4.public boolean exits(); //判断文件是否存在
5.public ling length(); //获取文件长度
6.public String getAbsolutePath(); //获取文件的绝对路径
7.public String getParent(); //获取文件的父目录
8.public boolean isFile(); //判断文件是否是一个正常文件而不是目录
9.public boolean isDirectory(); //判断文件是否一个目录
10.public boolean isHidden(); //判断文件是否隐藏文件
11.public long lastModified(); //文件最后修改的时间
12.public boolean createNewFile()throws IOException //创建文件
13.public boolean delete(); //删除文件
14.public String[]list(); //列出文件夹中的文件名
15.public File[] listFile(); //列出文件夹的所有文件实例
16.public boolean mkdir(); //创建文件夹
17.public boolean renameTo(File dest); //文件重命名(可以移动文件)
三、目录
1.创建目录
public boolean mkdir(); //创建目录
2.列出目录中的文件
如果File对象是一个目录,那么该对象可以调用下述方法列出该目录下的文件和子目录:
public String[] list(); //用字符串形式返回
public File[] listFiles(); //用File对象形式返回
列出指定类型的文件:
public String[] list(FilenameFilter obj); //字符串形式目录下指定类型的所有文件
public File[] listFiles(FilenameFilter obj); //用File对象形式返回目录下指定类型的所有文件
其中,FilenameFilter是一个接口,该接口有一个方法:
public boolean accept(File dir,String name); //当向list方法传递一个实现该接口的对象时,dir调用list方法在列出文件时,将调用accept方法检查该文件name是否符合accept方法指定的目录和文件名字要求。
示例一:
File构造函数
package com.itheima;
import java.io.File;
public class file {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File f1 =new File("c:\\111\\1.txt");
File f2 =new File("c:\\111","2.txt");
File f3 =new File("c:"+File.separator+"111");//separator 跨平台分隔符
File f4 =new File(f3,"3.txt");
System.out.println(f1);
}
}
示例二:
列出磁盘下的文件和文件夹
package com.itheima;
import java.io.File;
public class file {
public static void main(String[] args) {
// TODO 自动生成的方法存根
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);
}
}
}
}
}
示例三:
文件过滤
package com.itheima;
import java.io.File;
import java.io.FilenameFilter;
public class file {
public static void main(String[] args) {
// TODO 自动生成的方法存根
File file = new File("E:\\我的音乐");
String[] filenames = file.list(new FilenameFilter() {
// 过滤文件
public boolean accept(File file, String filename) {
return filename.endsWith(".mp3");
}
});
for (String filename : filenames) {
System.out.println(filename);
}
}
}
|
|