广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何读取和更新Java文件属性?_北大青鸟IT学校

作者:邓华发布时间:2021-04-14分类:Java技术浏览:719


导读:如何读取和更新Java文件属性?这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

如何读取和更新Java文件属性?这是每个学习Java的同学都会遇到的问题,下面我们一起来看看惠州北大青鸟老师是怎么回答的。

要读取或更新一个文件属性,请使用Files类。

Files类具有以下两种静态方法,以使用属性名称作为字符串来读取和更新文件属性:

Object getAttribute(Path path, String attribute, LinkOption... options)
Path setAttribute(Path path, String attribute, Object value, LinkOption... options)

要读取或更新文件的多个属性,请使用特定的文件属性视图。

对于大多数文件属性视图,我们必须使用名为 TypeAttributes和 TypeAttributeView的两个接口。

对于基本文件属性,我们有BasicFileAttributes和BasicFileAtrributeView接口。

该Type Attributes读取的属性。该Type AttributeView读取/更新的属性。

以下两个Files类的方法批量读取文件属性。

<A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options)

Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options)

两种方法的最后一个参数指定如何处理符号链接。默认情况下,如果文件是符号链接,则读取符号链接的目标属性。

如果我们指定NOFOLLOW_LINKS作为选项,则读取符号链接的属性,而不是其目标的属性。

第一个readAttributes()方法返回 TypeAttributes对象中指定类型的所有文件属性。

创建表示文件路径的Path对象

Path  path   = Paths.get("C:\\Java_Dev\\test1.txt");

读取基本文件属性

BasicFileAttributes bfa  = Files.readAttributes(path, BasicFileAttributes.class);

获取上次修改时间

FileTime lastModifiedTime  = bfa.lastModifiedTime();

获取文件的大小

long  size = bfa.size();

第二个readAttributes()方法返回特定类型的所有或部分属性。

要读取的属性列表以字符串形式提供。属性列表的字符串形式使用以下语法:

view-name:comma-separated-attributes

view-name 是我们要读取的属性视图的名称,例如basic,posix,acl等。

如果省略view-name,则默认为basic。如果view-name存在,它后面跟一个冒号。

通过将星号指定为属性列表,我们可以读取特定视图类型的所有属性。例如,我们可以指定“basic:*”或“*”来读取所有基本文件属性。

要读取基本视图的大小和最后修改时间,我们将使用

"basic:size,lastModifiedTime" or "size,lastModifiedTime".

要使用ACL视图读取文件的owner属性,我们将使用字符串“acl:owner”。

要读取文件的所有posix属性,我们将使用“posix:*"。

以下代码打印文件C:\Java_Dev\test1.txt的大小和最后修改时间。

import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.util.Map;public class Main {  public static void main(String[] args) throws Exception {
   Path path = Paths.get("C:\\Java_Dev\\test1.txt");    // Prepare the attribute list    String attribList = "basic:size,lastModifiedTime";    // Read the attributes    Map<String, Object> attribs = Files.readAttributes(path, attribList);

   System.out.format("Size:%s, Last   Modified   Time:%s %n",
       attribs.get("size"), attribs.get("lastModifiedTime"));

 }
}

想知道更多关于Java的资讯,联系在线客服,或者来惠州北大青鸟新方舟校区了解了解。

Java13.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表