1、File类
1.1、java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、宣找和期涂等操作。
1.2、构造方法
- public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。
- public File(String parent,String child) :从父路径名字符串和子路径名字符串创建新的 File实例。
- public File(File parent,string child) :从父抽象路径名和子路径名字符串创建新的 File实例。
代码如下:
import java.io.File;
import java.io.IOException;
public class FIleTest02 {
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa/bb/cc");
File f2=new File(f1,"a.txt");
}
}
1.3.file类的功能
1.获取文件的路径
import java.io.File;
public class FileTest01 {
public static void main(String[] args) {
File f1=new File( "D:/aa/hello.txt");
File absoluteFile = f1.getAbsoluteFile();
}
}
在工作中我们可以运用到通过获取同事的文件路径来写自己的代码
2.getpath、getName、getParent
import java.io.File;
public class FileTest01 {
public static void main(String[] args) {
File f1=new File( "D:/aa/hello.txt");
File absoluteFile = f1.getAbsoluteFile();
String path = fl.getPath();
System.out.println(path);
String name = fl.getName();
System.out.printin(name);
String parent = f1.getParent(0);
System.out.println(parent);
}
}
- getPath:文件的全路径
- getName:文件的文件名
- getParent:文件的目录或目录的名称
3.获取文件的字符长度
import java.io.File;
import java.io.IOException;
public class FileTest01 {
public static void main(String[] args) throws IOException {
File f1=new File( "D:/aa/hello.txt");
File absoluteFile = f1.getAbsoluteFile();
System.out.println(absoluteFile);
System.out.println(f1.length());
}
}
4.判断文件的功能
import java.io.File;
import java.io.IOException;
public class FileTest01 {
public static void main(String[] args) throws IOException {
File f1=new File( "D:/aa/hello.txt");
File f2=new File("./bb.txt");
File absoluteFile = f1.getAbsoluteFile();
System.out.println(f1.exists());//判断文件 或者 文件夹是否存在
System.out.println(f2.exists());
System.out.println(f1.isDirectory());//判断是否为文件夹
System.out.println(f1.isFile());//判断是否为文件
System.out.println(f2.isDirectory());
System.out.println(f2.isFile());
}
}
5.创建文件夹和文件的功能
import java.io.File;
import java.io.IOException;
public class FIleTest02 {
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa/bb/cc");
File f2=new File(f1,"a.txt");
//创建文件夹
f1.mkdirs();
//创建文件
f2.createNewFile();
}
}
mkdir():只能创建一个文件夹
mkdirs():能创建多重文件夹
import java.io.File;
import java.io.IOException;
public class FIleTest02 {
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa");
File f2=new File("D:/aa/bb/cc");
//创建文件夹
f1.mkdir();//可以创建
f2.mkdir();//创建不了
f2.mkdirs();//可以创建
}
}
如何创建多个文件
import java.io.File;
import java.io.IOException;
public class FileTest03 {
public static void main(String[] args) throws IOException {
File f3=null;
//1.目录结构不存在,程序异常;2.目录结构存在且文件不存在则创建空文件;3.目录结构存在且文件存在不做任何操作
for (int i=0;i<10;i++){
f3=new File("D:/aa/bb/cc/a"+i+".jpg");
f3.createNewFile();
}
}
}
结果:
6.如何删除文件
import java.io.File;
import java.io.IOException;
public class FIleTest02 {
public static void main(String[] args) throws IOException {
File f1=new File("D:/aa");
File f2=new File("D:/aa/bb/cc");
//删除映射的文件或目录对象,父目录不会被删除
f2.delete();
}
}
即可以删除文件也可以删除文件夹
绝对路径和相对路径
- 绝对路径:从盘符开始的路径,这是一个完整的路径
- 相对路径: 相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。
import java.io.File;
public class FileTest04 {
public static void main(String[] args) {
// D盘下的bbb.java文件
File f = new File("D:\\bbb.java");
System.out.println(f.getAbsolutePath());
// 项目下的bbb.java文件
File f2 = new File("bbb.java");
System.out.println(f2.getAbsolutePath());
}
}