1 java.io.File類

1 java.io.File類

1.1 構造方法

  • 參數爲路徑名字符串類型:public File(String pathname)

    舉例代碼

    File file = new File("C:/XXX");
    
  • 傳入父路徑名和子路徑名:public File(String parentPath , String childPath)

    舉例代碼

    public File("C:/aa", "aa.txt");
    
  • 傳入父級對象和子路徑名:public File(File parentFile , Stirng childPath )

    舉例代碼

    File parentDir = new File("d:\\aaa");
    String child = "bbb.txt";
    File file4 = new File(parentDir, child);
    

1.2 常用方法

  • public String getName() :返回由此File表示的文件或目錄的名稱

  • public long length() :返回由此File表示的文件的長度

  • public String getPath() :將此File轉換爲路徑名字符串。

  • public long lastModified() :返回File對象對應的文件或目錄的最後修改時間(毫秒值)

  • public boolean exists() :此File表示的文件或目錄是否實際存在

  • public boolean isDirectory() :此File表示的是否爲目錄

  • public boolean isFile() :此File表示的是否爲文件

  • public boolean canRead() :判斷File對象對應的文件或目錄是否可讀

  • public boolean canWrite() :判斷File對象對應的文件或目錄是否可寫

  • public boolean isHidden() :判斷File對象對應的文件或目錄是否是否隱藏

  • public boolean createNewFile() :當且僅當具有該名稱的文件尚不存在時,創建一個新的空文件。

    示例代碼

     File f = new File("d:/aaa.txt");
     f.createNewFile();
    
  • public boolean delete() :刪除由此File表示的文件或目錄。 只能刪除空目錄。

    示例代碼

    f.delete();
    
  • public boolean mkdir() :創建由此File表示的目錄。

  • public boolean mkdirs() :創建由此File表示的目錄,包括任何必需但不存在的父目錄。

1.3 相對路徑與絕對路徑

  • 絕對路徑:從盤符開始的路徑,這是一個完整的路徑。

    實例代碼

    File file = new File("d:\\java\\HelloIO.java");
    
  • 相對路徑:相對於項目目錄的路徑,這是一個便捷的路徑,開發中經常使用。

    示例代碼

    File file = new File("./HelloIO.java");  //  "./"表示當前項目下
    

1.4 目錄的遍歷

1.4.1 常用方法

  • public String[] list() :返回一個String數組,表示該File目錄中的所有子文件或目錄。
  • public File[] listFiles() :返回一個File數組,表示該File目錄中的所有的子文件或目錄
  • public File[] listFiles(FileFilter filter) :返回所有滿足指定過濾器的文件和目錄
  • public File[] listFiles(FilenameFilter filter) :返回所有滿足指定過濾器的文件和目錄

1.4.2 方法的運用示例

例如使用遞歸實現打印指定目錄下的文件名(目錄不止一級)

示例代碼

public class Test {

	public static void main(String[] args) {
		/*
		 * 遍歷指明目錄下的所有[不止一級]的文件,輸出所有的文件名
		 */
		File file = new File("c:/bbb"); //bbb文件目錄下存在多層子目錄和文件
		show(file);

	}
	public static void show(File file){
		File[] listFiles = file.listFiles();   //得到File目錄中的所有的子文件或目錄,返回File類型
		for (File file2 : listFiles) {         //遍歷
			if(file2.isFile()){                //判斷當前File是否是文件
				System.out.println(file2.getName());   //打印文件名
			}
			else if(file2.isDirectory()){    //當前文件類型爲目錄類型
				System.out.println(file2.getName());   //得到目錄名
				show(file2);   //遞歸打印
			}
		}			
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章