首頁  >  文章  >  Java  >  Java I/O流如何進行檔案元資料操作?

Java I/O流如何進行檔案元資料操作?

WBOY
WBOY原創
2024-04-15 14:27:021175瀏覽

Java I/O流可對檔案和目錄元資料進行操作,包括建立日期、修改日期和檔案大小等。操作元資料可透過Files類別或File類別進行,本文示範如何使用Files和File類別分別取得檔案的建立時間和尺寸,以及如何使用Files類別批次取得目前目錄中所有檔案的建立日期。

Java I/O流如何进行文件元数据操作?

Java I/O流的元資料操作

#Java I/O流提供了對檔案和目錄元資料進行操作的能力。元資料資訊通常包括檔案或目錄的建立日期、修改日期、檔案大小等。

使用Files類別操作元資料

#Java 7及更高版本提供了易用的Files類,提供了豐富的API來操作檔案和目錄元資料。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;

public class FileMetadataExample {

    public static void main(String[] args) throws Exception {
        // 获取文件路径
        Path filePath = Paths.get("test.txt");

        // 获取文件基本属性
        BasicFileAttributes attrs = Files.readAttributes(filePath, BasicFileAttributes.class);

        // 输出文件元数据
        System.out.println("文件大小:" + attrs.size());
        System.out.println("创建时间:" + attrs.creationTime());
        System.out.println("修改时间:" + attrs.lastModifiedTime());
    }
}

使用File類別操作元資料

#在Java中,File類別也提供了對檔案元數據的訪問,但其API不如Files類別豐富。

import java.io.File;

public class FileMetadataExample {

    public static void main(String[] args) {
        // 获取文件
        File file = new File("test.txt");

        // 输出文件元数据
        System.out.println("文件大小:" + file.length());
        System.out.println("创建时间:" + file.lastModified());
    }
}

實戰案例

假設我們需要寫一個程式來取得目前目錄下所有檔案的建立日期。

import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;

public class FileListMetadataExample {

    public static void main(String[] args) throws Exception {
        // 获取当前目录
        Path dirPath = Paths.get(".");

        // 遍历目录中的所有文件
        Files.list(dirPath).forEach(path -> {
            // 获取文件基本属性
            try {
                BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
                
                // 输出文件信息
                System.out.println(path.getFileName() + ": " + attrs.creationTime());
            } catch (Exception e) {
                // 忽略错误
            }
        });
    }
}

以上是Java I/O流如何進行檔案元資料操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn