Java --> File

1 import java.io.File;
2
3 public class FileDemo {
4 public static void main(String[] args) {
5 //1、创建File对象(指定文件的路径)
6 //路径写法1、
7 //File f = new File("D:\\Intellij_IDEA_install\\resourse_imgs\\beach.jpeg");
8 //路径写法2
9 //File f = new File("D:/Intellij_IDEA_install/resourse_imgs/beach.jpeg");
10 //路径写法3、使用API (缺点:比较麻烦,优点:跨平台)
11 File f = new File("D:" + File.separator + "Intellij_IDEA_install" + File.separator + "resourse_imgs"
12 + File.separator + "beach.jpeg");
13 long size = f.length();//返回的是文件的字节大小
14 System.out.println("beach.jpeg的字节大小是:" + size);
15
16 //2、File创建对象,支持绝对路径、也支持相对路径
17 File file = new File("D:/Intellij_IDEA_install/resourse_imgs/beach.jpeg");//绝对路径:从盘符开始
18 System.out.println(file.length());
19
20 //相对路径:一般定位模块中的文件(相对:相对到工程)
21 File file1 = new File("file-io-app/src/data.txt");
22 System.out.println("data.txt的字节数据大小是:" + file1.length());
23
24 //3、File对象,可以是文件也可以是文件夹 (是否存在改文件夹)
25 File file2 = new File("D:/Intellij_IDEA_install/resourse_imgs");
26 System.out.println("D:/Intellij_IDEA_install/resourse_imgs 是否存在:" + file2.exists());
27 }
28 }
示例代码运行结果:



- File类常用API之判断文件类型、获取文件信息
1 import java.io.File;
2 import java.text.SimpleDateFormat;
3
4 public class FileDemo2 {
5 public static void main(String[] args) {
6 //1、绝对路径创建一个文件对象
7 File file1 = new File("D:\\Intellij_IDEA_install\\resourse_imgs\\doraemon.jpeg");
8 System.out.println("获取绝对路径:" + file1.getAbsoluteFile());
9 System.out.println("获取文件定义的时候使用的路径;" + file1.getPath());
10 System.out.println("获取文件的名称,带后缀名:" + file1.getName());
11 System.out.println("获取文件的字节大小:" + file1.length());
12 long lastModified = file1.lastModified();
13 System.out.println("最后一次修改的时间:" + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(lastModified));
14 System.out.println("file1是不是文件:" + file1.isFile());
15 System.out.println("file1是不是文件夹:" + file1.isDirectory());
16 }
17 }
示例代码运行结果:

1 import java.io.File;
2 import java.io.IOException;
3
4 public class FileDemo3 {
5 public static void main(String[] args) throws IOException {
6 File file = new File("file-io-app/src/data.txt");
7 System.out.println(file.createNewFile());
8
9 File file2 = new File("file-io-app/src/data2.txt");
10 System.out.println(file2.createNewFile()); //几乎不用,因为以后文件都是自动创建的
11
12 //mkdir创建一级目录
13 File file3 = new File("D:/Intellij_IDEA_install/resourse_imgs/aaa");
14 System.out.println(file3.mkdir());
15
16 //mkdirs创建多级目录
17 File file4 = new File("D:/Intellij_IDEA_install/resourse_imgs/aaa/bbb/ccc");
18 System.out.println(file4.mkdirs());
19
20 //删除文件或者空文件夹,不能删除非空文件夹
21 System.out.println(file2.delete());
22 }
23 }

这个地方的示例代码运行结果不太具有参考意义,因为一旦创建成功之后再次创建则是false。
- File类常用方法之遍历文件夹
1 import java.io.File;
2 import java.util.Arrays;
3
4 public class FileDemo4 {
5 public static void main(String[] args) {
6 //定位一个目录
7 File file = new File("D:/Intellij_IDEA_install/resourse_imgs");
8 String[] names = file.list();
9 for (String name : names) {
10 System.out.println(name);
11 }
12 System.out.println("-----------------------");
13 //一级文件对象
14 File[] files = file.listFiles();
15 for (File f : files) {
16 System.out.println(f.getName());
17 }
18
19 System.out.println("--------listFiles方法注意事项---------");
20 //1、调用者不存在返回null
21 File file1 = new File("D:/abc");
22 File[] files1 = file1.listFiles();
23 System.out.println(files1);
24
25 //2、调用者是一个文件时,返回null
26 File file2 = new File("D:/Intellij_IDEA_install/resourse_imgs/beach.jpeg");
27 File[] files2 = file2.listFiles();
28 System.out.println(files2);
29
30 //3、调用者是空文件夹时,返回长度为0的数组
31 File file3 = new File("D:/Intellij_IDEA_install/resourse_imgs/emptyFile");
32 File[] files3 = file3.listFiles();
33 System.out.println(files3);
34 System.out.println(files3.length);
35 System.out.println(Arrays.toString(files3));
36 }
37 }
示例代码运行结果:

浙公网安备 33010602011771号