(一)File、IO流概述以及File文件对象的创建
要存储数据,我们可以用一个变量存储一个数据、用一个数组存储一组数据、用一个对象存储一批数据、用一个集合存储几组数据。
(1)变量
int a = 55;
(2)数组
//int age[] = {24,36,45,75,62,35,35};
int[] age = new int[];
(3)对象
Student stu = new Student;
(4)集合
List<String> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
他们都是内存中的数据容器,方便运行时使用,不过在断电或者程序终止的时候会丢失。而想要长久的存储数据就需要用到硬盘了,再硬盘上存的数据不仅可以长久保存,而且断电或者程序终止了也不会丢失,而在计算机硬盘中文件是非常重要的存储方式,为了方便程序员操作文件或文件夹,java推出了一个File类方便操作。
File
(1)File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件也可以是文件夹)
(2)File提供的操作有获取文件信息的大小、文件名、修改时间,判断文件类型,创建和删除文件/文件夹等等。
(3)注意:File只对文件本身进行操作,不能读写文件里面存储的数据。
(二)常用方法及案例
常用方法1:判断文件类型、获取文件信息
实例代码如下:
package d1_file;
import java.io.File;
import java.text.SimpleDateFormat;
/*
* 掌握File提供的判断文件类型、获取文件信息的功能
* */
public class FileTest2 {
public static void main(String[] args) {
//1、创建文件对象,指代某个文件
System.out.println("创建文件对象,指代某个文件");
File file1 = new File("D:\\experiment\\aa.txt");
System.out.println(file1);
System.out.println("判断文件是否存在");
System.out.println(file1.exists());
System.out.println("判断是否是文件");
System.out.println(file1.isFile());
System.out.println("判断是否是文件夹");
System.out.println(file1.isDirectory());
System.out.println("获取文件名");
System.out.println(file1.getName());
System.out.println("获取文件长度");
System.out.println(file1.length());
System.out.println("获取文件最后的修改时间");
long time = file1.lastModified();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(time));
System.out.println("获取创建文件对象时的文件路径");
System.out.println(file1.getPath());//获取创建文件对象时的文件路径
System.out.println("获取绝对路径");
System.out.println(file1.getAbsolutePath());//获取绝对路径
}
}
运行结果如下:
D:\java_jdk\jdk-17.0.9\bin\java.exe "-javaagent:C:\Users\hsh\AppData\Local\JetBrains\IntelliJ IDEA 2021.3\lib\idea_rt.jar=62555:C:\Users\hsh\AppData\Local\JetBrains\IntelliJ IDEA 2021.3\bin" -Dfile.encoding=UTF-8 -classpath D:\javaweb_program\java_hexin\out\production\file-io-app d1_file.FileTest2
创建文件对象,指代某个文件
D:\experiment\aa.txt
判断文件是否存在
true
判断是否是文件
true
判断是否是文件夹
false
获取文件名
aa.txt
获取文件长度
147
获取文件最后的修改时间
2024/03/14 10:35:49
获取创建文件对象时的文件路径
D:\experiment\aa.txt
获取绝对路径
D:\experiment\aa.txtProcess finished with exit code 0
常用方法2:创建文件、删除文件
演示代码如下:
package d1_file;
import java.io.File;
import java.io.IOException;
public class FileTest3 {
public static void main(String[] args) throws IOException {
System.out.println("创建一个新文件");
File file1 = new File("D:\\experiment\\bb.txt");
System.out.println(file1.createNewFile());
System.out.println("创建新文件夹,只能创建一级文件夹");
File file2 = new File("D:\\experiment\\bb");
System.out.println(file2.mkdir());
System.out.println("创建新文件夹,可以创建多个文件夹");
File file3 = new File("D:\\experiment\\aa\\cc\\dd\\ee\\ff");
System.out.println(file3.mkdirs());
System.out.println("删除文件或空文件夹,不能删除非空文件夹");
System.out.println(file2.delete());
System.out.println(file1.delete());
System.out.println(file3.delete());
}
}
运行结果如下:
D:\java_jdk\jdk-17.0.9\bin\java.exe "-javaagent:C:\Users\hsh\AppData\Local\JetBrains\IntelliJ IDEA 2021.3\lib\idea_rt.jar=59469:C:\Users\hsh\AppData\Local\JetBrains\IntelliJ IDEA 2021.3\bin" -Dfile.encoding=UTF-8 -classpath D:\javaweb_program\java_hexin\out\production\file-io-app d1_file.FileTest3
创建一个新文件
true
创建新文件夹,只能创建一级文件夹
true
创建新文件夹,可以创建多个文件夹
true
删除文件或空文件夹,不能删除非空文件夹
true
true
trueProcess finished with exi