JAVA中File类的使用

1. 创建、删除文件夹

  •   创建文件夹: public boolean createNewFile() throws IOException. 文件路径不存在,或者文件不可访问均会抛出IOException异常
  •   删除文件夹: public boolean delete()
  •   判断一个文件是否存在: public boolean exists()
import java.util.*; 
import java.io.*;

public class Hello
{
    public static void main(String[] args) throws Exception
    {
        File f = new File("C:" + File.separator + "D" + File.separator + "code" + File.separator + "resource" + File.separator + "test.txt");
        if(f.exists())
        {
            f.delete();
        }
        else
        {
            f.createNewFile();
        }
    }
}

2. exists()能判断该文件是否存在,但是当我们创建新文件的时候还应当确保它的父文件夹都是存在的。

  •   以字符串的形式获取父文件夹的路径。public String getParent()
  •   以文件实例的形式获取父文件夹。public File getParentFile()
  •   创建指定文件夹,此时该文件的所有父文件夹都应该要存在。public boolean mkdir()
  •   创建指定文件夹,该路径中的所有文件夹,如果不存在,则统一创建。public boolean mkdirs()
import java.util.*; 
import java.io.*;

public class Hello
{
    public static void main(String[] args) throws Exception
    {
        File f = new File("C:" + File.separator + "D" + File.separator + "hello" + File.separator + "abc" + File.separator + "test.txt");
        String parentFolderPath = f.getParent();
        File parentFolder = f.getParentFile();
        System.out.println("文件的父路径是:" + parentFolderPath);
        if(!parentFolder.exists())
        {//创建文件的所有父文件夹
            System.out.println("该父路径不存在,现在为其创建一个。");
            parentFolder.mkdirs();
        }
        else
        {
            System.out.println("该父路径已经存在.");
        }
        
        if(f.exists())//判断文件是否存在
        {//若存在,则删除
            f.delete();
        }
        else
        {//若不存在,则创建
            f.createNewFile();
        }
    }
}

3. 获取文件的一些信息

  •   或取文件的长度public long length()
  •   判断是否是一个文件public boolean isFile()
  •   判断是否是一个文件夹 public boolean isDirectory()
  •   最近一次修改时间:public long lastModified()
import java.util.*; 
import java.io.*;
import java.math.*;
import java.text.*;

public class Hello
{
    public static void main(String[] args) throws Exception
    {
        File f = new File("C:" + File.separator + "F"  + File.separator + "JAVA" + File.separator + "JavaWeb" + File.separator + "java_ee_javadocs.zip");
        long fileLength = f.length();
        long lastModifiedTime = f.lastModified();
        System.out.println("文件大小:" + new BigDecimal(fileLength).divide(new BigDecimal(1024*1024),2,RoundingMode.HALF_DOWN ) + "M");
        System.out.println("最后修改时间:" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(lastModifiedTime));
        System.out.println("是否是文件:" + f.isFile());
        System.out.println("是否是文件夹:" + f.isDirectory());
    }
}

4. 列出文件夹中的所有文件

  •  获取当前文件夹中所有文件的全路径:lpublic String[] list()
  •    获取当前文件夹中所有的文件:public File[] listFiles()
import java.util.*; 
import java.io.*;
import java.math.*;
import java.text.*;

public class Hello
{
    public static void main(String[] args) throws Exception
    {
        File f = new File("C:" + File.separator + "F"  + File.separator + "JAVA" + File.separator + "JavaWeb");
        if(f.isDirectory())
        {
            File[] files = f.listFiles();
            for(File item : files)
            {
                System.out.println(item.getName());
            }
            System.out.println("===================");
            String[] filesName = f.list();
            for(String item : filesName)
            {
                System.out.println(item);
            }
        } 
    }
}
原文地址:https://www.cnblogs.com/kuillldan/p/5743476.html