目前存储数据的方案:

缺点:他们记住得数据在断点,或者程序终止时会丢失
如何把数据长久的存储起来?

认识File类

注意:File类只能对文件本身进行操作,不能读写文件中的数据
IO流:

创建File类的对象

package com.file.test;
import java.io.File;
public class FielTest1 {
public static void main(String[] args) {
//创建一个FILE对象,指代某个具体文件
//File file = new File("D:\\资源图片\\_20240612225653.jpg");
//另一种分隔符,用File.separator他会根据你的系统来判别使用那种分隔符,跨平台
File file = new File("D:"+File.separator+"资源图片"+File.separator+"_20240612225653.jpg");
String name = file.getName();
long length = file.length();
String path = file.getPath();
System.out.println("这张图片的名字为"+name);//文件名字
System.out.println("这张图片的大小为"+length);//文件大小
System.out.println("文件路径为"+path);
//File类还可以指向文件夹
File file1 = new File("D:\\资源图片");
long length1 = file1.length();
System.out.println("文件夹的大小为"+length1);//输出为40960其实这个大小是文件夹本身的大小而不是文件夹里面所有文件的大小
//File对象可以指向一个不存在的文件路径
File file2 = new File("D:\\资源图片\\主图\\这是一个未知文本.txt");
System.out.println("未知文件的大小"+file2.length());
//判断文件是否存在
boolean exists = file2.exists();
System.out.println("文件存在的状态是"+exists);
//我现在要定位的文件是在模块中,那应该如何定位?
//绝对路径,带盘符的路径
//File file3 = new File("D:\\VScode\\ServletStudy\\ServletParent\\FileStudy\\src\\main\\java\\com\\file\\test\\it.txt");
//相对路径:不带盘符,默认是直接去工程下找文件的
File file3 = new File("FileStudy\\src\\main\\java\\com\\file\\test\\it.txt");//相对路径从模块名开始
System.out.println("我们新创建的txt文件大小为"+file3.length());
}
}
运行结果:

File类对象可以代表文件,也可代表文件夹
可以代表已经存在的文件也可以代表不存在的图片
如果代表文件夹那么它代表的是这个文件夹的大小而不是这个文件夹里面的所有文件的大小
还有就是相对路径与绝对路径,在模块下的文件用得是相对路径,相对路径是从模块那开始的

以及文件路径分隔符