file对象是对文件的操作。具体方法有以下几类
File 的构造方法:
1)创建File(String parent,String child)
new出File对象之后,必须执行createNewFile()方法才能够创建出文件
2)separator
获取与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
1、创建:
boolean createNewFile() 当文件不存在时创建一个文件。若文件存在 则返回false。
boolean mkdir()
创建此抽象路径名指定的目录。
boolean mkdirs()
创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
2、删除
boolean delete()
删除此抽象路径名表示的文件或目录。
void deleteOnExit()
在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
3、获取
File getAbsoluteFile()
返回此抽象路径名的绝对路径名形式。
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
String getName()
返回由此抽象路径名表示的文件或目录的名称。
String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
String getPath()
将此抽象路径名转换为一个路径名字符串。
4、判断
int compareTo(File pathname) 按字母顺序比较两个抽象路径名。
boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。
boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。
boolean isHidden()
测试此抽象路径名指定的文件是否是一个隐藏文件。
boolean exists()
测试此抽象路径名表示的文件或目录是否存在。
5、File获取列表的方法
File[] listRoots()
列出可用的文件系统根。
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
String[] list(FilenameFilter filter)
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
~~~
import java.io.*;
public class FileDemo{
public static void main(String args[])throws IOException{
//mathod_create();
//mathod_file();
//mathod_get();
//mathod_list();
new FileDemo().mathod_FileterList();
}
public static void mathod_create()throws IOException{
File f = new File("xy.txt");
File f1 = new File("abc");
f1.mkdir();
sys("create:"+f.createNewFile());
}
public static void mathod_get()throws IOException{
File f = new File("xy.txt");
sys("getParent:"+f.getParent());
}
public static void mathod_file()throws IOException{
//构造方法1
//File f = new File("F:\\JavaOracle","hh.txt"); // 根据 parent 路径名字符串
File f = new File("xy.txt");
File f1 = new File("sys.txt");
if(f1.exists()&&f.exists())
sys("exists() :"+f1.compareTo(f));
}
public static void mathod_list(){
File f = new File("C:\\");
File[] files = f.listFiles();
for(File file : files){
sys("list盘符:"+file);
}
}
public void mathod_FileterList(){
File f = new File("F:\\JavaOracle\\OOP\\IO");
String []fileNames = f.list(new FilenameFilter(){
public boolean accept(File dir,String name){
return name.endsWith(".txt");
}
});
for(String fileName:fileNames){
sys("--->"+fileName);
}
}
public static void sys(Object object){
System.out.println(object);
}
}
~~~