Java訪問文件屬性
Java的File類提供了訪問文件的屬性,但File提供的功能有限。
Java7的NIO.2在java.nio.file.attribbute包下提供了大量的工具類,通過這些工具類,開發者可以非常簡單地讀取,修改文件屬性,這些工具類主要分為以下兩類。
XxxAttributeView:代表某種文件屬性的視圖。
XxxAttributes:代表某種文件屬性的集合,程序一般通過XxxAttributeView對象獲取XxxAttributes。
下面我只介紹兩種,其實還有很多。
BasicFileAttributeView:它可以獲取或修改文件的基本屬性,包括文件的最后修改時間,最后訪問時間,創建時間,大小,是否為目錄,是否為符號鏈接等。它的readAttribute()方法返回一個BasicFileAttributes對象,對文件夾基本屬性的修改是通過BasicFileAtributes對象完成。
DosFileAttributeView:它主要用于獲取或修改文件DOS相關屬性,比如文件是否只讀,是否隱藏,是否是系統文件,是否是存檔文件等。它的readAttributes()方法返回一個DosFileAttributes對象對這些屬性的修改其實是由DosfileAttributes對象來完成。
[java] view plaincopy
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.nio.file.attribute.BasicFileAttributeView;
- import java.nio.file.attribute.BasicFileAttributes;
- import java.nio.file.attribute.DosFileAttributeView;
- import java.util.Date;
- public class Test {
- public static void main(String[] args) throws Exception
- {
- Path path=Paths.get("D:/address.txt");
- BasicFileAttributeView basicview=Files.getFileAttributeView(path, BasicFileAttributeView.class);
- BasicFileAttributes basicfile=basicview.readAttributes();
- System.out.println("創建時間"+new Date(basicfile.creationTime().toMillis()));
- System.out.println("文件大小"+basicfile.size());
- DosFileAttributeView dosview=Files.getFileAttributeView(path, DosFileAttributeView.class);
- dosview.setHidden(true);
- dosview.setReadOnly(true);
- }
- }
個人網站 www.software8.co 歡迎品嘗