File类常用的方法
String getName() //得到一个文件的名称(不包括路径)
String getPath() //得到一个文件的路径名
String getAbsolutePath() //得到一个文件的绝对路径名
String getParent() //得到一个文件的上一级路径名
String renameTo(File newname)
//将当前文件名更名为给定文件的完整路径
boolean exists() //判断指定的文件或目录是否存在
boolean mkdir() //创建文件对象指定的目录(单层目录)
boolean mkdirs() //创建文件对象指定的目录(多层目录)
boolean isDirectory() //判断指定的文件是否为目录
boolean isFile() //判断指定的文件是否为文件
boolean createNewFile() //创建文件对象指定的文件
long length() //获取文件的长度,以字节为单位
String[] list() //返回目录中所有文件名字符串
File[] listFiles() //返回目录中所有文件
boolean delete() //删除当前文件
实例:
package com.inspur.io;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
*
* Created by shirukai on 2017/7/26.
*/
public class Test1
{
public static void main(String[] args){
//遍历目录C:\Windows\debug所有文件
String rootPath ="C:\\Windows\\debug";
//实例化对象Test1
Test1 test1 = new Test1();
//调用getFilePaths方法
List<String> list = test1.getFilePaths(rootPath);
//输出所有路径
if (list!=null&&list.size()>0){
for (int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("文件总数目"+list.size());
}
}
//创建getFilePaths()方法
public List<String> getFilePaths(String rootPath){
List<String> list = null;
//创建文件对象
File f2 = new File(rootPath);
//判断目录是否存在
if (f2.isDirectory()){
//获取文件夹下所有文件名称(包括文件目录)
String[] fileNames=f2.list();
File f= null;
if (fileNames.length>0){
list = new ArrayList<String>();
for (int i=0;i<fileNames.length;i++){
f=new File(rootPath+"\\"+fileNames[i]);
if (f.isDirectory()){//如果是文件目录,则继续往下递归
List tmpList = getFilePaths(rootPath+"\\"+fileNames[i]);
if (tmpList!=null&&tmpList.size()>0){
list.addAll(tmpList);
}else {
list.add(f.getAbsolutePath());
}
}
}
}
}
return list;
}
}