File对象:
File对象四种构造函数
new File(字符串的路径);
new File(Uri);
new File(String parent, filename);
new File(File parent, filename);
静态属性
File.separator // 路径的分隔符
常见方法
file.canExecute();
file.canWrite();
file.canRead();
file.createNewFile(); // 创建文件
file.mkdir(); // 只能创建一层目录
file.mkdirs(); // 级联创建文件夹
file.delete(); // 删除
file.deleteOnExit();
file.exists() // 判断文件或者目录是否存在
file.getAbsoluteFile();
file.getAbsolutePath();
file.getFreeSpace();
file.getUsableSpace();
file.getTotalSpace();
file.getName();
file.length(); //获取文件大小
file.getParent();
file.getParentFile();
file.getPath();
file.isAbsolute();
file.isFile();
file.isDirectory();
file.isHidden();
file.isAbsolute();
file.isFile();
file.isDirectory();
file.isHidden();
file.lastModified();
file.list();
file.list(FilenameFilter);
file.listFiles();
file.listFiles(FilenameFilter);
file.listFiles(FileFilter);
lambda表达式:
函数的简化写法,也就是讲函数名称和一些能够省略的代码直接省略掉。
如:
File[] listFiles = file.listFiles((File f)-> f.getName().endsWith("java"));
上代码:
package com.openlab.day20.io;
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.sql.Date;
import org.junit.jupiter.api.Test;
class TestIFile {
@Test
void test01() throws IOException {
File file = new File("C:\\Users\\liujianhong\\Desktop\\最近工作\\java se\\day04");
String[] paths = file.list((File dir, String name) -> name.endsWith("java"));
for (String string : paths) {
System.out.println(string);
}
}
class MyFilenameFileter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
File f = new File(dir, name);
if (f.length() > 1024) {
return true;
}
return false;
}
}
@Test
void test02() {
File file = new File("C:\\Users\\liujianhong\\Desktop\\最近工作\\java se\\day04");
File[] listFiles = file.listFiles((File f)-> f.getName().endsWith("java"));
for (File file2 : listFiles) {
System.out.println(file2);
}
}
}
遍历磁盘:
package com.openlab.day20.io;
import java.io.File;
public class TesFile02 {
public static void scannerFile(String path) {
File file = new File(path);
String[] list = file.list();
for (String filename: list) {
String realPath = path + File.separator + filename;
File ff = new File(realPath);
if (ff.isFile()) {
System.out.println(ff.getAbsolutePath());
} else {
scannerFile(realPath);
}
}
}
public static void scannerFile02(String path) {
File file = new File(path);
File[] list = file.listFiles();
for (File f: list) {
if (f.isFile()) {
System.out.println(f.getAbsolutePath());
} else {
scannerFile(f.getAbsolutePath());
}
}
}
static void scannerFile03(File file) {
if(file.isDirectory()) {
File[] files = file.listFiles();
if(files!=null&&files.length>=0) {
for (File file2 : files) {
if(file2.isDirectory()) {
scannerFile03(file2);
}else if(file2.isFile()) {
System.out.println(file2.getAbsolutePath());
}else {
System.out.println("嘿嘿嘿!");
}
}
}
}
}
public static void main(String[] args) {
scannerFile02("H:\\");
}
}