参考:http://www.codeceo.com/article/java-file-class.html
构造函数
public classFileDemo {public static voidmain(String[] args){//构造函数File(String pathname)
File f1 =new File("c:\\abc\\1.txt");//File(String parent,String child)
File f2 =new File("c:\\abc","2.txt");//File(File parent,String child)
File f3 =new File("c:"+File.separator+"abc");//separator 跨平台分隔符
File f4 =new File(f3,"3.txt");
System.out.println(f1);//c:\abc\1.txt
}
}
创建方法
1.boolean createNewFile() 不存在返回true 存在返回false
2.boolean mkdir() 创建目录
3.boolean mkdirs() 创建多级目录
删除方法
1.boolean delete()
2.boolean deleteOnExit() 文件使用完成后删除
import java.io.File;
import java.io.IOException;public classFileDemo2 {public static voidmain(String[] args){
File f=new File("d:\\1.txt");try{
System.out.println(f.createNewFile());//当文件存在时返回false
System.out.println(f.delete());//当文件不存在时返回false
} catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}
判断方法
1.boolean canExecute()判断文件是否可执行
2.boolean canRead()判断文件是否可读
3.boolean canWrite() 判断文件是否可写
4.boolean exists() 判断文件是否存在
5.boolean isDirectory()
6.boolean isFile()
7.boolean isHidden()
8.boolean isAbsolute()判断是否是绝对路径 文件不存在也能判断
获取方法
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()//获取机器盘符
9.String[] list()
10.String[] list(FilenameFilter filter)
列出磁盘下的文件和文件夹
public classFileDemo3 {public static voidmain(String[] args){
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);
}
}
}
}
}
文件过滤
import java.io.File;
import java.io.FilenameFilter;public classFileDemo4 {public static voidmain(String[] args){
File[] files=File.listRoots();for(File file:files){
System.out.println(file);if(file.length()>0){
String[] filenames=file.list(newFilenameFilter(){//file 过滤目录 name 文件名
publicboolean accept(File file,String filename){return filename.endsWith(".mp3");
}
});for(String filename:filenames){
System.out.println(filename);
}
}
}
}
}
利用递归列出全部文件
public classFileDemo5 {public static voidmain(String[] args){
File f=new File("e:\\音樂");
showDir(f);
}public static voidshowDir(File dir){
System.out.println(dir);
File[] files=dir.listFiles();for(File file:files){if(file.isDirectory())
showDir(file);elseSystem.out.println(file);
}
}
}
移动文件
找出d盘下所有的 .java 文件,拷贝至 c:\jad 目录下,并将所有文件的类型由.java 修改为.jad 。
public classTest5 {public static voidmain(String[] args){
File f1= new File("d:\\");
moveFile(f1);
}public static voidmoveFile(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类的更多使用方法建议参考java API