File类(java.io.File 注:代表一个文件或目录路径名字)
目录路径:UNIX:/ Windows:\\
常用方法:
构造方法
public File(String pathname) #得到文件实例
普通方法 #获取基本信息(文件和目录共用)
public String getName() #返回文件名字
public String getParent() #返回当前文件父目录
public String getPath() #返回路径名字
public boolean canRead() #判断此文件是否可读
public boolean canWrite() #判断文件是否可写
public boolean exists() #判断文件和目录是否存在
public boolean isDirectory() #判断文件是否为目录
public boolean isFile() #判断文件是否为文件
public boolean isHidden() #判断文件是否隐藏
public long lastModifiled() #返回文件最后修改时间
public long length() #返回文件大小
#对文件操作
public boolean creatNewFile() #文件不存在即创建
public boolean delete() #删除文件
#对目录操作
public boolean mkdir() #创建目录
public File[] listFiles() #遍历目录
public String[] list() #遍历目录(返回数组--文件名字或目录名字)
总结:
1)File类中,是目录即继续遍历,是文件即匹配(getName().contains())
目录路径:UNIX:/ Windows:\\
常用方法:
构造方法
public File(String pathname) #得到文件实例
普通方法 #获取基本信息(文件和目录共用)
public String getName() #返回文件名字
public String getParent() #返回当前文件父目录
public String getPath() #返回路径名字
public boolean canRead() #判断此文件是否可读
public boolean canWrite() #判断文件是否可写
public boolean exists() #判断文件和目录是否存在
public boolean isDirectory() #判断文件是否为目录
public boolean isFile() #判断文件是否为文件
public boolean isHidden() #判断文件是否隐藏
public long lastModifiled() #返回文件最后修改时间
public long length() #返回文件大小
#对文件操作
public boolean creatNewFile() #文件不存在即创建
public boolean delete() #删除文件
#对目录操作
public boolean mkdir() #创建目录
public File[] listFiles() #遍历目录
public String[] list() #遍历目录(返回数组--文件名字或目录名字)
1)File类中,是目录即继续遍历,是文件即匹配(getName().contains())
2)File类只是创建一个文件实例,可对文件目录进行创建,删除,目录递归,各种判断,不能对文件内容进行读取。
package com.youceedu.test.file;
import java.io.File;
import java.io.IOException;
public class TestFile {
public static void loopFindDir(File f,String keyName) {
if(f.isDirectory()) { //如果是目录,创建一个File类型的数组,继续遍历
File[] fileOrDir = f.listFiles();
for(File fileDirSure:fileOrDir) {
loopFindDir(fileDirSure,keyName);
}
}else {
if(f.getName().equals(keyName))
System.out.println("文件名为:"+f+"的长度为:"+f.length());//如果不是目录,即为文件,输出文件名
}
}
public static void main(String[] args) {
String rootDir = "D:\\a";
String newName = "D:\\创建新目录";
//操作文件或者目录
File f = new File(rootDir); //实例化一个File类的对象
if(!f.exists()) {
f.mkdir();
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
System.out.println(rootDir.length());//输出这个字符串类型的变量的长度
System.out.println("文件的大小:"+f.length());
System.out.println("文件的名字:"+f.getName());
System.out.println("文件的父目录:"+f.getParent());
System.out.println("文件所在路径:"+f.getPath());
System.out.println("该对象是不是一个目录:"+f.isDirectory());
System.out.println("该对象是不是一个文件:"+f.isFile());
System.out.println("该文件是否可读:"+f.canRead());
System.out.println("该文件是否可写:"+f.canWrite());
System.out.println("该文件最后一次修改的时间:"+f.lastModified());
}
//对文件的操作
File newFile = new File(newName);
if(!newFile.exists()) {
try {
newFile.createNewFile(); //不存在即创建一个文件
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else {
newFile.delete(); //存在即删除该文件
}
File fdList = new File(newName); //创建一个File类对象
if(!fdList.exists()) { //如果不存在这个目录,即创建一个新的目录
fdList.mkdirs();
}
else {
String[] listName = fdList.list();
for(String fileListName:listName) //遍历目录并输出该目录下的文件及目录名
System.out.println(fileListName);
}
//File pathList = new File();
File[] fdPath = fdList.listFiles();
for(File pathName:fdPath) { //遍历目录并输出该目录下的文件路径
System.out.println(pathName);
}
File[] fArray = f.listFiles();
for(File fArrayName:fArray) { //遍历目录并输出该目录下的文件路径
System.out.println(fArrayName);
}
}
}