獲取文件的屬性信息
知識點:
通過java.io.File類可以獲取文件的屬性信息,使用File類的關鍵點如下:
1、相對路徑:相對路徑就是指由這個文件所在的路徑引起的跟其它文件(或文件夾)的路徑關係。如:“./temp/xx.txt"將指向當前目錄的temp子目錄下的xx.txt文件。
2、絕對路徑:文件的真是路徑。如Linux操作系統下的"/usr/java/xx.sh",Windows下的"c:/temp/xx.txt"。
3、File類的構造方法的參數可以是文件的相對路徑,也可以是文件的絕對路徑,它被當作File對象的抽象路徑。
4、File類的getName方法獲得文件名,該文件名不包含路徑信息
5、File類的getPath方法把抽象路徑中的文件分隔符用系統默認文件分隔符替換後返回。windows下的系統默認文件分隔符是“\”,linux和UNIX下默認文件分隔符是“/"
6、File類的getAbsolutePath方法獲得文件的絕對路徑
7、File類的isAbsolute方法判斷File對象的抽象路徑是否爲絕對路徑
8、File類的toURI方法獲得File對象的URI,以”file:“協議開頭
9、File對象可以指向一個目錄,isDirectory方法返回它是否指向目錄,isFile方法返回它是否指向一個具體文件。
10、File對象指向的文件可以不存在,exists方法返回它指向的文件是否存在
實例演示
package book.io; import java.io.File; import java.util.Date; /** *//** * 獲取文件的基本信息 * @author joe * */ public class GetFileInfos ...{ public static void println(String s) ...{ System.out.println(s); } public static void main(String[] args) ...{ //用文件路徑新建一個文件對象。路徑可以是絕對路徑也可以是相對路徑 //傳入的參數被當做爲文件的抽象路徑 File file = new File("D:/work/newTemp.txt"); println("文件名: " + file.getName()); //獲取文件的名字,不包括路徑 //將抽象路徑中的文件分隔符系統默認分隔符替換 println("文件路徑: " + file.getPath()); println("絕對路徑: " + file.getAbsolutePath()); //獲取文件的絕對路徑 println("父目錄: " + file.getParent()); //獲取抽象路徑名的父抽象路徑名 println("文件是否存在: " + file.exists()); println("是否可讀: " + file.canRead()); println("是否可寫: " + file.canWrite()); println("是否是隱藏文件: " + file.isHidden()); println("是否是普通文件: " + file.isFile()); println("是否是文件目錄: " + file.isDirectory()); println("文件路徑是否是絕對路徑: " + file.isAbsolute()); println("文件路徑的URI: " + file.toURI()); println("文件最後修改時間: " + new Date(file.lastModified())); println("文件大小: " + file.length() + "bytes"); println("是否可執行:"+file.canExecute()); } }
輸出結果:
文件名: newTemp.txt
文件路徑: D:work ewTemp.txt
絕對路徑: D:work ewTemp.txt
父目錄: D:work
文件是否存在: true
是否可讀: true
是否可寫: true
是否是隱藏文件: false
是否是普通文件: true
是否是文件目錄: false
文件路徑是否是絕對路徑: true
文件路徑的URI: file:/D:/work/newTemp.txt
文件最後修改時間: Fri Nov 30 01:37:11 CST 2007
文件大小: 0bytes
是否可執行:true
文章出處:飛諾網(www.diybl.com):http://www.diybl.com/course/3_program/java/javaxl/20071129/89524.html