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. 列出文件夹中的所有文件
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); } } } }