File
import java.io.File;
/*
java.io.File类
文件和目录路径名的抽象表示形式
java把电脑中的文件和文件夹封装为一个File类,我们可以使用File类对文件和文件夹进行操作
创建,删除,获取,判断,对文件进行遍历,获取文件大小
File类是一个与系统无关的类,任何操作系统都可以使用这个类的方法
file,文件
directory 文件夹,目录
path 路径
*/
public class Demo01File {
public static void main(String[] args) {
String pathSeparator = File.pathSeparator;
System.out.println(pathSeparator);//路径分隔符
String separator = File.separator;
System.out.println(separator);//文件名称分隔符
}
}
/*
路径
绝对路径;是一个完整的路径以盘符开始的路径
相对路径;是一个简化的路径
注意路径是不区分大小写的
*/
public class Demo02File {
public static void main(String[] args) {
/*
File类的构造方法
*/
show01();
show02("D:","学习");
show03();
}
private static void show03() {
File parent =new File("D:\\");
File file =new File(parent,"学习");
System.out.println(file);
}
private static void show02(String parent,String child) {
File file =new File(parent,child);
System.out.println(file);
//
}
private static void show01() {
File f1 =new File("D:\\学习");
System.out.println(f1);//重写了Object类中的toString方法
}
}
import java.io.File;
public class Demo03File {
public static void main(String[] args) {
show01();
show02();
show03();
show04();
}
private static void show04() {
File f2 =new File("D:\\学习");
//返回由此File表示的文件的长度
//获取的是构造方法指定的文件的大小,以字节为单位的,文件夹是没有大小概率的,路径不存在返回0
long length = f2.length();
System.out.println(length);
}
private static void show03() {
File f3 =new File("D:\\学习");
String name = f3.getName();
System.out.println(name);//返回由此File表示的文件或目录名称
}
private static void show02() {
File f2 =new File("D:\\学习");
String path =f2.getPath();
System.out.println(path);//将File转换为路径名字符串
//toString方法就是调用getPath方法
}
private static void show01() {
File f1 =new File("D:\\学习");
String absolutePath1 =f1.getAbsolutePath();
System.out.println(absolutePath1);//返回File的绝对路劲字符串
}
}
import java.io.File;
public class Demo04File {
public static void main(String[] args) {
show01();
show02();
show03();
}
private static void show03() {
File f3 =new File("D:\\学习");
System.out.println(f3.isFile());//此File表示的是是否为文件
}
private static void show02() {
File f2 =new File("D:\\学习");
System.out.println(f2.isDirectory());//此File表示的是否为目录
}
private static void show01() {
File f1 =new File("D:\\学习");
System.out.println(f1.exists());//此File表示的文件或者目录是否实际存在
}
}
import java.io.File;
import java.io.IOException;
public class Demo05File {
public static void main(String[] args) throws IOException {
show01();
show02();
show03();
show04();
}
private static void show04() {
File f4 =new File("D:\\学习\\b1");
boolean delete = f4.delete();
System.out.println("删除"+delete);//删除File表示的文件和目录,文件和文件夹都可以删除
}
private static void show03() {
File f3 =new File("D:\\学习\\a2");
boolean mkdirs = f3.mkdirs();
System.out.println(mkdirs);//既可以创建单级文件夹,也可以创建多级文件夹
}
private static void show02() {
File f2 =new File("D:\\学习\\a1");
boolean mkdir = f2.mkdir();
System.out.println(mkdir);//创建单级空文件夹
}
private static void show01() throws IOException {
/*
当且仅当,没有该名称的文件是,可以创建一个新的空文件
此方法,只能创建文件,不能创建文件夹
创建文件的路径必须存在,否则会抛出异常
*/
File f1 =new File("D:\\学习\\b1");
boolean newFile = f1.createNewFile();
System.out.println("b1:"+newFile);
System.out.println("a1:"+newFile);
}
}
import java.io.File;
public class Demo06File {
public static void main(String[] args) {
show01();
show02();
}
//返回一个String数组,表示该File目录中所有子目录或者文件
private static void show02() {
File file =new File("D:\\学习");
String[] list = file.list();
for (String fileName :list){
System.out.println(fileName);//打印名字
}
}
//返回一个File数组,表示该File目录中的所有子文件或者目录
private static void show01() {
File file =new File("D:\\学习");
File[] files = file.listFiles();
for (File file1 : files) {
System.out.println(file1);//连着路径一起打印
}
}
}