首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java IO 基礎:File 類文件與目錄操作全攻略

     編輯:Java 相關知識

File 類定位

java.io.File 代表文件系統中的路徑抽象(文件或目錄),不直接處理數據內容。實現 Serializable、Comparable,支持序列化與有序集合存儲。

核心 API 分類

類別代表方法
路徑獲取getAbsolutePath()、getCanonicalPath()、getParent()、toURI()
屬性檢測exists()、isFile()、isDirectory()、isHidden()、canRead/Write/Execute()
創建/刪除createNewFile()、mkdir()、mkdirs()、delete()、deleteOnExit()
目錄遍歷list()、listFiles()、listFiles(FileFilter)、listRoots()
元數據length()、lastModified()、getFree/Total/UsableSpace()
重命名/權限renameTo()、setReadable/Writable/Executable()、setReadOnly()

典型操作模式

1. 目錄創建

// 相對路徑,父目錄需存在
new File("dir/sub1").mkdir(); 
// 絕對路徑,自動創建父目錄
new File("/home/user/dir/sub2").mkdirs(); 
// URI 方式
new File(new URI("file:/home/user/dir/sub3")).mkdirs();

2. 文件創建

// 相對路徑
new File("dir", "file.txt").createNewFile();
// 絕對路徑
new File("/home/user/dir/file.txt").createNewFile();
// 隱藏文件(Linux 下 . 開頭)
new File("dir", ".hidden").createNewFile();

3. 目錄遍歷與信息打印

File[] files = dir.listFiles();
for (File f : files) {
    System.out.printf("%-30s %s%s%s%s%n",
        f.getName(),
        f.isFile() ? "[File]" : "",
        f.isDirectory() ? "[Directory]" : "",
        f.isAbsolute() ? "[Absolute]" : "",
        f.isHidden() ? "[Hidden]" : "");
}

路徑分隔符常量

  • File.separator / separatorChar:系統文件分隔符(Unix '/', Windows '\')
  • File.pathSeparator / pathSeparatorChar:系統路徑列表分隔符(Unix ':', Windows ';')

跨平台代碼務必使用常量而非硬編碼。

總結

File 是文件系統元數據操作的入口,不涉及字節讀寫。掌握 mkdirs()、createNewFile()、listFiles(FileFilter) 等高階 API,配合 separator 常量,能編寫健壯的跨平台文件管理代碼。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved