通过File类可获取文件的信息或进行文件的复制、删除、重命名等管理操作,目录管理也由File实现。

1. 创建文件对象

  • File(String path) 例:File myFile = new File(“/etc/motd”);
  • File(String path,String name) 例:File myFile = new File(“/etc”,”motd”);
  • File(File dir,String name) 例1:File f1 = new File(“c:\abc”);

例2:File f2 = new File(f1, “3.txt”); //c:\abc\3.txt

2. 获取文件或目录属性

  • String getName() 返回文件名
    • String getPath() 返回文件路径
    • String getAbsolutePath() 返回文件绝对路径
    • String getParent() 返回父目录
  • boolean exists() 判断文件是否存在
    • boolean canWrite() 判断文件是否可写
    • boolean canRead()判断文件是否可读
    • boolean isFile()判断是否为文件
    • boolean isDirectory() 判断是否为目录
    • long lastModified() 文件的最后修改时间
  • long length() 求文件长度

    3.文件或目录操作

  • boolean renameTo(File newName)

  • boolean mkdir() 在当前目录下创建xyz子目录,例:File d=new File(“xyz”); d.mkdir();
  • String[ ] list()
  • File[ ] listFiles()
  • void delete()
  • boolean equals(File f)
    1. import java.io.*;
    2. class test13_4{
    3. static File fileToCheck;
    4. public static void main(String[] args) throws IOException {
    5. for (int i=0;i<args.length;i++)
    6. {
    7. fileToCheck = new File(args[i]);
    8. info(fileToCheck); //调用方法输出指定文件信息info(new File(args[i]))
    9. }
    10. }
    11. public static void info (File f) throws IOException {
    12. System.out.println("Name: "+f.getName());
    13. System.out.println("Path: "+f.getPath());
    14. System.out.println("Absolute Path: "+f.getAbsolutePath());
    15. if (f.exists())
    16. {
    17. System.out.println("File exists.");
    18. System.out.println( "and is Readable : "+f.canRead());
    19. System.out.println("and is Writeable: "+f.canWrite());
    20. System.out.println("File is " + f.length()+" bytes."); //File is 4458 bytes.求文件长度
    21. }
    22. else
    23. System.out.println("File does not exist.");
    24. }
    25. }
    image.png ```java import java.io.*; class test13_4{ public static void main(String args[]) {
    1. File file=new File("D:\\学习代码");
    2. if(!file.exists())
    3. {
    4. System.out.println("dirctory is empty");
    5. return;
    6. }
    7. File[] fileList=file.listFiles();
    8. for(int i=0;i<fileList.length;i++)
    9. {
    10. if(fileList[i].isDirectory())
    11. System.out.println("dirctory is :"+fileList[i].getName()); //文件夹
    12. else
    13. System.out.println("file is :"+fileList[i].getName()); //文件
    14. }
    } }

运行结果: dirctory is :algorithm-problem-brushing dirctory is :a的n次方 dirctory is :java-learning file is :java.txt dirctory is :MatLab学习 dirctory is :practice ```