File類 1.只用於表示文件(目錄)的信息(名稱、大小等),不能用於文件內容的訪問。 2.遍歷目錄 ...
- File類
1.只用於表示文件(目錄)的信息(名稱、大小等),不能用於文件內容的訪問。
package cn.test; import java.io.File; import java.io.IOException; public class Demo16 { public static void main(String[] args) { File file = new File("F:\\javaio"); //文件(目錄)是否存在 if(!file.exists()) { //創建目錄 file.mkdir();//file.mkdirs(); } else { //文件(目錄)刪除 file.delete(); } //是否是目錄 如果是目錄返回true,如果不是目錄或目錄不存在返回false System.out.println(file.isDirectory()); //是否是文件 System.out.println(file.isFile()); //File file2 = new File("F:\\java\\日記1.txt"); File file2 = new File("F:\\javaio", "日記2.txt"); if (!file2.exists()) { try { //創建文件 file2.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } else { file2.delete(); } System.out.println(file); System.out.println(file.getAbsolutePath());//返回絕對路徑 System.out.println(file.getName());//目錄名稱 System.out.println(file2.getName());//文件名稱 System.out.println(file.getParent());//父級目錄的路徑 System.out.println(file.getParent());//父級目錄的路徑 } }
2.遍歷目錄
package com.test.io; import java.io.File; import java.io.IOException; /** * File類的常用操作 * @author Administrator * */ public class FileUtils { /** * 列出指定目錄下(包括其子目錄)的所有文件 * @param dir * @throws IOException */ public static void listDirectory(File dir) throws IOException{ if (!dir.exists()) { throw new IllegalArgumentException("目錄" + dir + "不存在"); } if (!dir.isDirectory()) { throw new IllegalArgumentException(dir + "不是目錄"); } /* String[] filenames = dir.list();//返回的是字元串數組,列出當前目錄下的子目錄和文件(不包含子目錄下的內容) for (String string : filenames) { System.out.println(dir + "\\" +string); } */ //如果要遍歷子目錄下的內容,就需要構造File對象做遞歸操作 File[] files = dir.listFiles();//返回的是直接子目錄(文件)的抽象 if (files != null && files.length > 0) { for (File file : files) { if (file.isDirectory()) { //遞歸 listDirectory(file); } else { System.out.println(file); } } } } }