java.io.File:类
文件和目录 路径名的抽象表示形式。
通俗的讲:File类的对象代表一个文件或一个目录(文件夹)
1、路径的分隔符:
windows:\ 和 /
其他平台:/
网络地址:http://www.baidu.com/index.html
现在写路径分隔符:(1)/(2)File.separator
2、API
(1)获取文件或目录的详细信息
getName()
long length():只能返回文件的大小,不能直接返回目录的大小
文件夹的总大小 = 文件夹里面的所有的文件大小累加和
isHidden()
exist()
canRead()
canWrite()
long lastModified()
(2)获取文件或目录的路径
getPath()
getAbsolutePath()
getCanonicalPath()
(3)创建、删除、重命名
createNewFile():只能创建文件
mkdir():只能创建一级目录
mkdirs():创建多级目录
delete():可以删除文件
可以删除空目录
renameTo(File dest):可以给文件或目录重命名
(4)判断是文件还是目录
isDirectory():是存在的一个文件夹,返回true
isFile():是存在的一个文件,返回true
(5)不存在的一个文件或目录
你获取它的name,path这些是有值,因为这些属性是通过构造器创建File时指定的。
而其他的属性都是默认值。
数组:length属性
String:length()
文件:length()
文件或目录过滤器:
/*
* 文件或目录过滤器
* File类中
* File[] listFiles(FileFilter f)
*/
public class Test03 {
@Test
public void test01(){
//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的.java文件
File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
File[] listFiles = dir.listFiles(new FileFilter() {
//File pathname表示dir这个目录的下一级的每一个文件或目录
//这个方法返回true,说明要保留的
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".java");
}
});
for (File file : listFiles) {
System.out.println(file);
}
}
@Test
public void test02(){
//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的.java文件
//并源文件名中包含Test这个单词
File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
File[] listFiles = dir.listFiles(new FileFilter() {
//File pathname表示dir这个目录的下一级的每一个文件或目录
//这个方法返回true,说明要保留的
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".java") && pathname.getName().contains("Test");
}
});
for (File file : listFiles) {
System.out.println(file);
}
}
@Test
public void test03(){
//列出D:\atguigu\javaee\JavaSE20190513\code\day01_code目录下的所有的文件名的长度超过10个字符的
File dir = new File("D:/atguigu/javaee/JavaSE20190513/code/day01_code");
File[] listFiles = dir.listFiles(new FileFilter() {
//File pathname表示dir这个目录的下一级的每一个文件或目录
//这个方法返回true,说明要保留的
@Override
public boolean accept(File pathname) {
return pathname.getName().length()>10;
}
});
for (File file : listFiles) {
System.out.println(file);
}
}
}