【特点】:
【构造方法】:
File(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
File(String parent, String child):从父路径名字符串和子路径名字符串创建新的File实例
File(File parent, String child):从父抽象路径名和子路径名字符串创建新的File实例
例:
//(String pathname):通过将给定的路径名字符串转换为抽象路径名来创建新的File实例
String path="G:\\JAVA\\a.txt";
File file1=new File(path);
System.out.println(file1);
//File(String parent, String child):从父路径名字符串和子路径名字符串创建新的File实例
String path1="G:\\JAVA";
String path2="a.txt";
File file2=new File(path1,path2);
System.out.println(file2);
//File(File parent, String child):从父抽象路径名和子路径名字符串创建新的File实例
File file=new File("G:\\JAVA");
String path3="a.txt";
File file3=new File(file,path3);
System.out.println(file3);
public boolean createNewFile():创建一个新的空的文件
【注意】:
public boolean mkdir():创建一个单级文件夹
【注意】:
public boolean mkdirs():创建一个多级文件夹
【注意】:
例:
File file4=new File("G:\\JAVA\\a.txt");
boolean result = file4.createNewFile();
System.out.println(result);
File file5=new File("G:\\JAVA\\aaa");
boolean result1=file5.mkdir();
File file6=new File("G:\\JAVA\\aaa\\bbb");
boolean result2=file6.mkdirs();
System.out.println(result2);
【注意】:
例:
File file=new File("G:\\JAVA\\a.txt");
boolean result = file.delete();
System.out.println(result);
public boolean isFile():测试此抽象路径名表示的File是否为文件
public boolean exists():测试此抽象路径名表示的File是否存在
public String getAbsolutePath():返回此抽象路径名的绝对路径名字符串
public String getPath():将此抽象路径名转换为路径名字符串
例:
File file=new File("G:\\JAVA\\a.txt");
//public boolean isDirectory():测试此抽象路径名表示的File是否为目录
boolean result1 = file.isDirectory();
System.out.println(result1);
//public boolean isFile():测试此抽象路径名表示的File是否为文件
boolean result2 = file.isFile();
System.out.println(result2);
//public boolean exists():测试此抽象路径名表示的File是否存在
boolean result3 = file.exists();
System.out.println(result3);
//public String getName():返回由此抽象路径名表示的文件或目录的名称
String result4 = file.getName();
System.out.println(result4);
【注意】:
例:
File file=new File("G:\\JAVA");
File[] files=file.listFiles();//返回值为file列表
for (File path : files) {
System.out.println(path);
}
1、删除一个包含多个文件夹和文件的多级文件夹
public static void main(String[] args) {
File src=new File("G:\\ceshi");
deleteDir(src);
}
private static void deleteDir(File src) {
File[] files=src.listFiles();
for (File file : files) {
if(file.isFile()){
file.delete();
}else {
deleteDir(file);
}
}
src.delete();
}
2、统计一个文件夹中每种文件的个数并打印(利用循环和递归)
public static void main(String[] args) {
File file=new File("stream_io");
HashMap<String ,Integer> hm=new HashMap<>();
getCount(hm,file);
System.out.println(hm);
}
private static void getCount(HashMap<String, Integer> hm, File file) {
File[] files=file.listFiles();
for (File f : files) {
if(f.isFile()){
String fileName = f.getName();
String[] fileNameArr = fileName.split("\\.");
if(fileNameArr.length==2){
String fileEndName=fileNameArr[1];
if(hm.containsKey(fileEndName)){
//已经存在
//将已经出现的次数获取出来
Integer count = hm.get(fileEndName);
count++;
//覆盖之前的值
hm.put(fileEndName,count);
}else{
//不存在
//表示当前文件是第一次出现
hm.put(fileEndName,1);
}
}
}else {
getCount(hm,f);
}
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容