java.io.File類表明系統中的文件(文件或目錄)java
經常使用構造方法數組
File(String pathname)
File(String parent, String child) 【參數都是字符串】
File(File parent, String child) 【parent必須爲file對象】markdown
經常使用屬性-分隔符.net
File.separator 存儲了當前系統的路徑分隔符code
注意
區別於Files類,該類是新IO流,用法不同對象
2.1訪問File對象的屬性
>blog
【可讀否】boolean canRead()
【可寫否】boolean canWrite()
【文件(不能判斷文件夾)存在否】boolean exists()
【是不是文件夾】boolean isDirectory()
【是不是文件】boolean isFile()
【文件是否隱藏】boolean isHidden()
【最後一次修改時間】long lastModified()
【文件長度】long length() //以字節爲單位【不能是文件夾】
【獲取文件或文件夾名,僅最後一段】String getName()
【獲取相對路徑】String getPath()//(上級目錄+最後一段的文件/文件夾名)
【獲取絕對路徑】String getAbsolutePath() //返回此File對象的絕對路徑名
【獲取絕對路徑的文件】File getAbsoluteFile()//返回用絕對路徑表示的File對象
【獲取父目錄路徑】String getParent()//獲取不包含(最後一段)文件/文件夾名的父路徑
【獲取父目錄路徑】File getParentFile() 接口
2.2對文件的操做字符串
public boolean createNewFile() //不存在時建立此文件對象所表明的空文件
【建立文件夾,只能爲一層】boolean mkdir()
【建立文件夾,一層或多層】boolean mkdirs()
【刪除】boolean delete()//刪除文件(或文件夾)。若是是目錄必須是空才能刪除get【重命名文件】boolean renameTo(File dest)
【重命名文件】能夠用於移動文件(同盤符或跨盤符)或文件夾(包含其中的內容,只能同盤符); 不能用它跨盤符移動文件夾
renameTo方法用於移動(重命名)文件夾時,參數是目標文件夾的File對象,不是目標父文件夾
若是有其file對象或者是流使用着這個文件 則不能修改爲功
注意:只有把全部引用這個文件的流所有關閉後才能實現刪除和重命名
2.3瀏覽目錄中的文件和子目錄
【獲取文件夾下的文件名和目錄名,返回值爲數組】String[] list()
【採用了過濾器,其餘同上】String[] list(FilenameFilter filter)
【同上】 File[] listFiles() //返回此目錄中的文件和目錄的File實例數組
【同上】File[] listFiles(FilenameFilter filter) //返回此目錄中知足指定過濾器的文件和目錄的File實例數組
**list()與listFiles()區別** 1,返回值類型不一樣,前者爲String數組,後者爲File對象數組 2,返回值內容不一樣:前者返回的是文件名,後者返回的是完整的路徑
2.4FilenameFilter接口
1實現此接口的類實例可用於過濾文件名,僅限目標文件夾的直接子文件或子文件夾 2方法:boolean accept(File pathname) 3注意:區別於接口 FileFilter:用於抽象路徑名的過濾器 4實現FilenameFilter時,想保留的return true,想過濾掉的 return false 過濾器寫法
java中File類應用:遍歷文件夾下全部文件
地址:http://blog.csdn.net/baidu_37107022/article/details/70652719