文件: 用file 文件夹/目录: 用directory表示 路径/地址: 用path表示
windows系统中,文件/文件夹的路径中有\,但是在java中要表示\需要写\\
pathSeparator: 多个路径之间的分隔符号 它被表示为一个字符串。
separator: 一个路径中多个名称之间的分隔符号
File类的构造方法 可以表示文件或者文件夹,可以存在,也可以不存在
File(String pathname) 参数:String类型的路径
File(String parent, String child)
参数: parent:String类型的父路径 child:String类型的子路径
File(File parent, String child)
参数: parent:File类型的父路径 child:String类型的子路径
File类的获取方法
public String getAbsolutePath() :返回此File的绝对路径名字符串。
public String getPath() :将此File转换为路径名字符串(构造方法路径)。
public String getName() :返回由此File表示的文件或目录的名称。
路径名中最后一个分隔符后面的内容
public long length() :返回由此File表示的文件的长度。
文件中的字节数 文件为空: 返回0 文件不存在: 返回0
public File getParentFile():
返回由此File表示的文件或目录的父目录,如果没有父目录 绝对路径和相对路径
相对路径: 都有一个参照物,相对于谁,就以谁为参照物相对路径: day10\io\ab\a.txt
IDEA中文件路径都是以项目根路径作为参数物(省略不写)
IDEA中相对路径写法: 从模块名称开始向后写
File类的判断方法
public boolean exists() :
public boolean isDirectory() :此File表示的是否为目录。
public boolean isFile() :此File表示的是否为文件。
文件已经存在: 不创建 返回 false
文件不存在: 成功: true 失败: false
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
mkdirs()可以创建多级文件夹(包含一级)
delete() :删除由此File表示的文件或目录,java中删除动作不走回收站。
可以删除文件: 不存在: false
遍历
public String[] list() :获取当前目录下的所有的目录和文件的字符串的名字
public File[] listFiles() :获取当前目录下的所有的目录和文件的File对象
public class Demo01File {
public static void main(String[] args) {
String path = "E:\\io\\a\\b\\c\\abc.txt";
System.out.println(path);
System.out.println("-----------------");
String pathSeparator = File.pathSeparator;
System.out.println(pathSeparator);
String separator = File.separator;
System.out.println(separator);
System.out.println("-----------------");
String path2 = "E:"+separator+"io"+separator+"a"+separator+"b"+separator+"c"+separator+"abc.txt";
System.out.println(path2);
}
}
public class Demo02FileConstructor {
public static void main(String[] args) {
/创建File对象,代表存在的文件
File f3 = new File("D:\\projects\\javaee", "day10\\io\\ab\\a.txt");
File parent = new File("D:\\projects\\javaee");
---------------
File dir3 = new File(parent, "day10\\io\\abc");
System.out.println(dir3);
}
}
public class Demo03FileEach {
public static void main(String[] args) {
File dir = new File("day10\\io");
File[] files = dir.listFiles();
for (File file : files) {
if(file.isDirectory()) {
System.out.println("文件夹: "+file.getName());
} else {
System.out.println("文件 : "+file.getName()+", 大小: "+file.length());
}
}
}
}