File类概述

image.png

File类创建对象

  1. File file = new File("文件路径(绝对路径/相对路径)");
  1. package com.key.d1_file;
  2. /*
  3. 学会创建File对象,定位操作系统的文件
  4. */
  5. import java.io.File;
  6. public class Filetest {
  7. public static void main(String[] args) {
  8. //创建file对象(指定文件路径)
  9. /*
  10. 去文件路径的不同写法:
  11. 1、D:\\tools\\1.txt 反斜杠需要添加转义符
  12. 2、D:/tools/1.txt 斜杠不需要添加转义符
  13. 3、File.separator 使用API获取系统分隔符
  14. */
  15. File file = new File("/Users/p0wer_shell/Desktop/图片/123.txt");
  16. //File file = new File(File.separator+"Users"+File.separator+"p0wer_shell"+File.separator+"Desktop"+File.separator+"图片"+File.separator+"123.txt");
  17. long langth = file.length(); //取文件字节大小
  18. System.out.println(langth);
  19. //2、File创建对象,及支持绝对路径也支持相对路径
  20. //相对路径:一般定位模块中的文件,相对路径是相对到工程下
  21. File file1 = new File("file-io-app/src/123.txt");
  22. System.out.println(file1.length());
  23. //3、File创建对象可以是文件也可以是文件夹
  24. File file2 = new File("D:\\tools");
  25. System.out.println(file2.exists()); //判断文件夹是否存在,判断路径是否存在
  26. }
  27. }

image.png

File类常用API

1、判断文件类型,获取文件信息

image.png

  1. package com.key.d1_file;
  2. import java.io.File;
  3. import java.text.SimpleDateFormat;
  4. import java.util.SimpleTimeZone;
  5. public class FileDemo1 {
  6. public static void main(String[] args) {
  7. File file = new File("file-io-app/src/123.txt");
  8. //System.out.println(file.length());
  9. //System.out.println(file.isFile());
  10. //1、获取文件的绝对路径
  11. System.out.println(file.getAbsolutePath());
  12. //2、获取定时文件时使用的路径
  13. System.out.println(file.getPath());
  14. //3、获取文件名称,带后缀
  15. System.out.println(file.getName());
  16. //4、获取文件大小,字节个数
  17. System.out.println(file.length());
  18. //5、获取文件的最后修改时间
  19. //System.out.println(file.lastModified());
  20. System.out.println("最后修改时间:" + new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(file.lastModified()));
  21. }
  22. }

image.png

2、创建文件、删除文件功能

image.png

3、遍历文件夹

image.png
区别:list()只取文件名放到数组中,listFiles()将文件作为一个对象放到数组中,之后可以去File的各种接口和方法。

  1. package com.key.d1_file;
  2. import java.io.File;
  3. public class FileDemo2 {
  4. public static void main(String[] args) {
  5. //1、定位一个目录
  6. File file = new File("/Users/p0wer_shell/Desktop/图片");
  7. //1、遍历目标目录下所有文件的名字,list()
  8. String[] name = file.list();
  9. for (String s : name) {
  10. System.out.println(s);
  11. }
  12. System.out.println("----------------------");
  13. //2、取一级文件对象:将文件对象添加到数组中去,listFiles()
  14. File[] files = file.listFiles();
  15. for (File file1 : files) {
  16. System.out.println(file1.getAbsolutePath()); //取所有文件的绝对路径
  17. }
  18. }
  19. }

image.png
image.png