java.io.File类:代表文件和目录。 在开发中,读取文件、生成文件、删除文件、修改文件的属性时经常会用到本类。

File类的常见构造方法

public File(String pathname)
以pathname为路径创建File对象,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储

  1. import java.io.File;
  2. public class TestFile1 {
  3. public static void main(String[] args) throws Exception {
  4. System.out.println(System.getProperty("user.dir"));
  5. File f = new File("a.txt"); //相对路径:默认放到user.dir目录下面
  6. f.createNewFile();//创建文件
  7. File f2 = new File("d:/b.txt");//绝对路径
  8. f2.createNewFile();
  9. }
  10. }

File类访问属性的方法列表

  1. // 判断File是否存在
  2. public boolean exists();
  3. // 判断File是否是目录
  4. public boolean isDirectory();
  5. // 判断File是否是文件
  6. public boolean isFile();
  7. // 返回File最后修改时间
  8. public long lastModified();
  9. // 返回File大小
  10. public long length();
  11. // 返回文件名
  12. public String getName();
  13. // 返回文件的目录路径
  14. public String getPath();

File类创建文件或目录的方法列表

通过File对象创建空文件或目录(在该对象所指的文件或目录不存在的情况下)

  1. // 创建新的File
  2. createNewFile();
  3. // 删除File对应文件
  4. delete();
  5. // 创建一个目录;中间某个目录缺失,则创建失败
  6. mkdir();
  7. // 创建一个目录;中间某个目录缺失,则创建该缺失目录
  8. mkdirs();
  1. // 使用mkdir创建目录
  2. import java.io.File;
  3. public class TestFile3 {
  4. public static void main(String[] args) throws Exception {
  5. File f = new File("d:/c.txt");
  6. f.createNewFile(); // 会在d盘下面生成c.txt文件
  7. f.delete(); // 将该文件或目录从硬盘上删除
  8. File f2 = new File("d:/电影/华语/大陆");
  9. boolean flag = f2.mkdir(); //目录结构中有一个不存在,则不会创建整个目录树
  10. System.out.println(flag);//创建失败
  11. }
  12. }
  13. // 使用mkdirs创建目录
  14. import java.io.File;
  15. public class TestFile4 {
  16. public static void main(String[] args) throws Exception {
  17. File f = new File("d:/c.txt");
  18. f.createNewFile(); // 会在d盘下面生成c.txt文件
  19. f.delete(); // 将该文件或目录从硬盘上删除
  20. File f2 = new File("d:/电影/华语/大陆");
  21. boolean flag = f2.mkdirs();//目录结构中有一个不存在也没关系;创建整个目录树
  22. System.out.println(flag);//创建成功
  23. }
  24. }

File类的综合应用

  1. import java.io.File;
  2. import java.io.IOException;
  3. public class TestFile5 {
  4. public static void main(String[] args) {
  5. //指定一个文件
  6. File file = new File("d:/sxt/b.txt");
  7. //判断该文件是否存在
  8. boolean flag= file.exists();
  9. //如果存在就删除,如果不存在就创建
  10. if(flag){
  11. //删除
  12. boolean flagd = file.delete();
  13. if(flagd){
  14. System.out.println("删除成功");
  15. }else{
  16. System.out.println("删除失败");
  17. }
  18. }else{
  19. //创建
  20. boolean flagn = true;
  21. try {
  22. //如果目录不存在,先创建目录
  23. File dir = file.getParentFile();
  24. dir.mkdirs();
  25. //创建文件
  26. flagn = file.createNewFile();
  27. System.out.println("创建成功");
  28. } catch (IOException e) {
  29. System.out.println("创建失败");
  30. e.printStackTrace();
  31. }
  32. }
  33. //文件重命名(同学可以自己测试一下)
  34. //file.renameTo(new File("d:/readme.txt"));
  35. }
  36. }