當前位置: 首頁>>代碼示例>>Java>>正文


Java BasicFileAttributeView.readAttributes方法代碼示例

本文整理匯總了Java中java.nio.file.attribute.BasicFileAttributeView.readAttributes方法的典型用法代碼示例。如果您正苦於以下問題:Java BasicFileAttributeView.readAttributes方法的具體用法?Java BasicFileAttributeView.readAttributes怎麽用?Java BasicFileAttributeView.readAttributes使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.nio.file.attribute.BasicFileAttributeView的用法示例。


在下文中一共展示了BasicFileAttributeView.readAttributes方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: basicAttributes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Get POSIX attributes for file.
 *
 * @param file File.
 * @return BasicFileAttributes.
 */
@Nullable public static BasicFileAttributes basicAttributes(File file) {
    BasicFileAttributes attrs = null;

    try {
        BasicFileAttributeView view = Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class);

        if (view != null)
            attrs = view.readAttributes();
    }
    catch (IOException e) {
        throw new IgfsException("Failed to read basic file attributes: " + file.getAbsolutePath(), e);
    }

    return attrs;
}
 
開發者ID:apache,項目名稱:ignite,代碼行數:22,代碼來源:LocalFileSystemUtils.java

示例2: testGetAttributesThenMoveFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Test
public void testGetAttributesThenMoveFile() throws Exception {
    long start = System.currentTimeMillis();
    Path parent = root.resolve("test");
    Files.createFile(parent);
    BasicFileAttributeView attributes = Files.getFileAttributeView(parent, BasicFileAttributeView.class);
    assertTrue(attributes.readAttributes().creationTime().toMillis() > start - 6000);
    Files.move(parent, parent.resolveSibling("test2"));
    try
    {
        attributes.readAttributes();
        fail();
    } catch(NoSuchFileException e) {
        //pass
    }
    
}
 
開發者ID:sbridges,項目名稱:ephemeralfs,代碼行數:18,代碼來源:DirectoryWalkTest.java

示例3: getLastModified

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
public long getLastModified(final Object templateSource) {

  Path templateAsPath = (Path) templateSource;
  BasicFileAttributeView basicView = Files.getFileAttributeView(templateAsPath,
      BasicFileAttributeView.class);

  // This attribute view is perhaps not available in this system
  if (basicView != null) {

    BasicFileAttributes basic;
    try {
      basic = basicView.readAttributes();
    } catch (IOException e) {
      return -1;
    }

    return basic.lastModifiedTime().toMillis();

  } else {
    return -1;
  }
}
 
開發者ID:Kurento,項目名稱:kurento-module-creator,代碼行數:24,代碼來源:PathTemplateLoader.java

示例4: getModDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static FileTime getModDate (Path path) throws IOException {
  BasicFileAttributeView basicView =Files.getFileAttributeView (path, BasicFileAttributeView.class,LinkOption.NOFOLLOW_LINKS);
  if (basicView != null) {
    BasicFileAttributes basic = basicView.readAttributes (); // Get the
                                                             // attributes
                                                             // of the view

    FileTime result = basic.lastModifiedTime ();
    if (result == null)
      throw new IOException ("Attribute lastModifiedTime() is not suupported on file: " + path);
    else {
      if (log.isDebugEnabled ())
        log.debug ("File " + path + "last modified at  : " + result);
      return result;

    }

  } else {
    throw new IOException ("File not found: " + path);
  }

}
 
開發者ID:dfci-cccb,項目名稱:mev,代碼行數:23,代碼來源:CCCPHelpers.java

示例5: getFormattedDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Returns formatted date of creation for current file.
 * @param path Current file.
 * @return Formatted date.
 */
private String getFormattedDate(Path path) {
	try {
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		BasicFileAttributeView faView = Files.getFileAttributeView(path,
				BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS);
		BasicFileAttributes attributes = faView.readAttributes();
		FileTime fileTime = attributes.creationTime();
		return sdf.format(new Date(fileTime.toMillis()));
	} catch (IOException e) {
		return "";
	}
}
 
開發者ID:fgulan,項目名稱:java-course,代碼行數:18,代碼來源:LsShellCommand.java

示例6: main

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static void main(String[] args) {
	try {
		Path path = Paths.get("metadata.txt");

		Files.deleteIfExists(path);
		
		Files.createFile(path);
		
		BasicFileAttributeView basicView = Files.getFileAttributeView(path, BasicFileAttributeView.class);
		
		BasicFileAttributes basicAttributes = basicView.readAttributes();
		boolean isDirectory = basicAttributes.isDirectory();
		FileTime lastModifiedTime = basicAttributes.lastModifiedTime();
		
		System.out.println(isDirectory);
		System.out.println(lastModifiedTime);
		
		PosixFileAttributeView posixView = Files.getFileAttributeView(path, PosixFileAttributeView.class);
		PosixFileAttributes posixAttributes = posixView.readAttributes();
		
		GroupPrincipal group = posixAttributes.group();
		
		Set<PosixFilePermission> permissions = posixAttributes.permissions();
		permissions.add(PosixFilePermission.OWNER_EXECUTE);
		posixView.setPermissions(permissions);
		
		System.out.println(group);
		
	} catch (IOException e) {
		// Log and Handle exception
		e.printStackTrace();
	}
}
 
開發者ID:ldebello,項目名稱:javacuriosities,代碼行數:34,代碼來源:Lesson06FileAttributes.java

示例7: getDefaultPositionPerFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
protected Long getDefaultPositionPerFile(File file) throws IOException {
	if (this.defaultTimestampIsFileUpdated) {
		BasicFileAttributeView fileAttributeView = Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class);
           BasicFileAttributes readAttributes = fileAttributeView.readAttributes();
           return AbsoluteTimeGranularityUtil.asPosition(new Date(readAttributes.lastModifiedTime().toMillis()));
	} else if (this.defaultDate != null) {
		return this.defaultDate.getTime();
	} else {
		return super.getDefaultPositionPerFile(file);
	}
}
 
開發者ID:eurekaclinical,項目名稱:eureka,代碼行數:13,代碼來源:EurekaDelimitedFileDataSourceBackend.java

示例8: getDefaultPositionPerFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
protected Long getDefaultPositionPerFile(File file) throws IOException {
	if (this.defaultTimestampIsFileUpdated) {
		BasicFileAttributeView fileAttributeView = Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class);
		BasicFileAttributes readAttributes = fileAttributeView.readAttributes();
		return AbsoluteTimeGranularityUtil.asPosition(new Date(readAttributes.lastModifiedTime().toMillis()));
	} else if (this.defaultDate != null) {
		return this.defaultDate.getTime();
	} else {
		return super.getDefaultPositionPerFile(file);
	}
}
 
開發者ID:eurekaclinical,項目名稱:eureka,代碼行數:13,代碼來源:EurekaFixedWidthFileDataSourceBackend.java

示例9: testReadAttributesViewFutureExistingFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Test
@Category( { Attributes.class, Writable.class } )
public void testReadAttributesViewFutureExistingFile() throws IOException {
    BasicFileAttributeView view = FS.provider().getFileAttributeView( absTA(), BasicFileAttributeView.class );

    fileTA();
    try {
        view.readAttributes();
    } catch( Exception e ) {
        fail( "future files have a view" );
    }
}
 
開發者ID:openCage,項目名稱:niotest,代碼行數:13,代碼來源:Tests06Attributes.java

示例10: getCreationDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Returns the creation date of the given file or the 1st january 1970
 * if an error occured while trying to read the date.
 * 
 * @param file File to access.
 * @return Creation date of the given file.
 */
private Date getCreationDate(File file) {
	try {
		final BasicFileAttributeView view = Files.getFileAttributeView(file.toPath(), BasicFileAttributeView.class);
		final BasicFileAttributes attributes = view.readAttributes();

		return new Date(attributes.creationTime().toMillis());
		
	} catch(IOException e) {
		return new Date(0L);
	}
}
 
開發者ID:sigmah-dev,項目名稱:sigmah,代碼行數:19,代碼來源:BackupArchiveManagerImpl.java

示例11: fromFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Builds the given {@code file} corresponding {@link BackupDTO}.
 * 
 * @param file
 *          The backup file path.
 * @return The given {@code file} corresponding {@link BackupDTO}.
 * @throws IOException
 *           If an I/O error occurs.
 * @throws IllegalArgumentException
 *           If the given {@code file} does not reference a valid backup file.
 */
private BackupDTO fromFile(final Path file) throws IOException {

	final String filename = file.getFileName().toString();
	final Matcher matcher = BACKUP_ARCHIVE_NAME_PATTERN.matcher(filename);

	if (!matcher.matches()) {
		throw new IllegalArgumentException("Invalid backup archive file name '" + filename + "'.");
	}

	final Integer organizationId = Integer.parseInt(matcher.group(1));
	final Integer orgUnitId = Integer.parseInt(matcher.group(2));
	final LoadingScope loadingScope = LoadingScope.valueOf(matcher.group(3));
	final String extension = matcher.group(4);

	final BasicFileAttributeView view = Files.getFileAttributeView(file, BasicFileAttributeView.class);
	final BasicFileAttributes attributes = view.readAttributes();

	final BackupDTO result = new BackupDTO();

	result.setOrganizationId(organizationId);
	result.setOrgUnitId(orgUnitId);
	result.setOrgUnitName(orgUnitDAO.findById(orgUnitId).getFullName());
	result.setLoadingScope(loadingScope);
	result.setCreationDate(new Date(attributes.creationTime().toMillis()));
	result.setArchiveFileName(filename);
	result.setRunning(extension.equals(BACKUP_ARCHIVE_TEMP_EXT));

	return result;
}
 
開發者ID:sigmah-dev,項目名稱:sigmah,代碼行數:41,代碼來源:BackupArchiveManagerImpl.java

示例12: testView

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Test
public void testView() throws IOException {
  BasicFileAttributeView view = provider.view(fileLookup(), NO_INHERITED_VIEWS);

  assertThat(view).isNotNull();
  assertThat(view.name()).isEqualTo("basic");

  BasicFileAttributes attrs = view.readAttributes();
  assertThat(attrs.fileKey()).isEqualTo(0);

  FileTime time = attrs.creationTime();
  assertThat(attrs.lastAccessTime()).isEqualTo(time);
  assertThat(attrs.lastModifiedTime()).isEqualTo(time);

  view.setTimes(null, null, null);

  attrs = view.readAttributes();
  assertThat(attrs.creationTime()).isEqualTo(time);
  assertThat(attrs.lastAccessTime()).isEqualTo(time);
  assertThat(attrs.lastModifiedTime()).isEqualTo(time);

  view.setTimes(FileTime.fromMillis(0L), null, null);

  attrs = view.readAttributes();
  assertThat(attrs.creationTime()).isEqualTo(time);
  assertThat(attrs.lastAccessTime()).isEqualTo(time);
  assertThat(attrs.lastModifiedTime()).isEqualTo(FileTime.fromMillis(0L));
}
 
開發者ID:google,項目名稱:jimfs,代碼行數:29,代碼來源:BasicAttributeProviderTest.java

示例13: printBasicPathAttributes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
private int printBasicPathAttributes(FileSystem fileSystem, Path path) {
	BasicFileAttributeView fileAttributeView =
			fileSystem.provider().getFileAttributeView(path, BasicFileAttributeView.class);
	if (fileAttributeView == null) {
		System.err.println("Cannot get file attributes for path '" + path.toString() +
				"' on filesystem type " + fileSystem.provider().getScheme());
		return 0;
	}
	
	BasicFileAttributes attributes;
	try {
		attributes = fileAttributeView.readAttributes();
	} catch (IOException e) {
		System.err.println("Could not read file attributes for '" + path.toString() + "'");
		return 0;
	}
	
	DateTimeFormatter dtFormat = ISODateTimeFormat.dateHourMinuteSecondMillis();
	StringBuilder listing = new StringBuilder();
	listing.append(path.toAbsolutePath().toString());
	if (attributes.isDirectory()) {
		listing.append(fileSystem.getSeparator());
		listing.append(" - ");
	} else {
		listing.append(" ")
			.append(attributes.size())
			.append(" ");
	}

	listing.append(" ");
	if (attributes.creationTime() != null) {
		listing.append(dtFormat.print(attributes.creationTime().toMillis()));
	} else {
		listing.append("-");
	}

	listing.append(" ");
	if (attributes.lastModifiedTime() != null) {
		listing.append(dtFormat.print(attributes.lastModifiedTime().toMillis()));
	} else {
		listing.append("-");
	}
	
	System.out.println(listing.toString());
	return 1;
}
 
開發者ID:brdara,項目名稱:java-cloud-filesystem-provider,代碼行數:47,代碼來源:ListCommand.java

示例14: main

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static void main(String[] args) throws IOException {
//    第三個並且是最後一個例子涉及了利用 java.nio.file.attribute 包中的類獲取並設置文件屬性的新的 API。
//
//    新的 API 能夠提供對各種文件屬性的訪問。在以前的 Java 版本中,僅能得到基本的文件屬性集(大小、修改時間、文件是否隱藏、以及它是文件還是目錄)。為了獲取或者修改更多的文件屬性,必須利用運行所在平台特定的本地代碼來實現,這很困難。很幸運的是,Java 7 能夠允許您通過很簡單的方式,利用 java.nio.file.attribute 類來讀取,如果可能,修改擴展的屬性集,完全去掉了這些操作的平台特定屬性。
//
//    在新的 API 中有七個屬性視圖,其中一些特定於操作係統。這些 “ 視圖 ” 類允許您獲取並設置任何關聯的屬性,並且其中每個都具有對應的包含真實屬性信息的屬性類。讓我們依次來看一下。
//    AclFileAttributeView 與 AclEntry
//
//    AclFileAttributeView 允許您為特定文件設置 ACL 及文件所有者屬性。其 getAcl() 方法返回一個 List of AclEntry 對象,每個對應文件的一個權限集。其 setAcl(List<AclEntry>) 方法允許您修改該訪問列表。這些屬性視圖僅可用於 Microsoft® Windows® 係統。
//    BasicFileAttributeView 與 BasicFileAttributes
//
//    這一視圖類允許您獲取一係列 —— 平常的 —— 基本文件屬性,構建於以前的 Java 版本之上。其 readAttributes() 方法返回一個 BasicFileAttributes 實例,該實例包含最後修改時間、最後訪問時間、創建時間、大小、以及文件屬性等細節(常規文件、目錄、符號鏈接、或者其他)。這一屬性視圖在所有平台上均可用。
    File attribFile = new File(".");
    Path attribPath = attribFile.toPath();
//    為獲取想要的文件屬性視圖,我們在 Path 上使用 getFileAttributeView(Class viewClass) 方法。為獲取 BasicFileAttributeView for attribPath,我們簡單地調用:

    BasicFileAttributeView basicFileAttributeView =Files.getFileAttributeView(attribPath, BasicFileAttributeView.class);
//    正如前麵所描述的,為從 BasicFileAttributeView 獲取 BasicFileAttributes,我們隻要調用其 readAttributes() 方法:
    BasicFileAttributes basicAttribs = basicFileAttributeView.readAttributes();
//    那麽這樣就可以了,現在已經得到了您所想要的任何基本文件屬性。對於 BasicFileAttributes,隻有創建、最後修改、以及最後訪問時間可被修改(因為改變文件大小或者類型沒有意義)。為改變這些,我們可以使用 java.nio.file.attribute.FileTime 類來創建新的時間,然後在 BasicFileAttributeView 上調用 setTimes() 方法。例如,我們可以不斷地更新文件的最後修改時間。
    FileTime newModTime
            = FileTime.fromMillis(basicAttribs.lastModifiedTime().toMillis() + 60000);
    basicFileAttributeView.setTimes(newModTime, null, null);
//    這兩個 null 指出,我們不想改變這一文件的最後訪問時間或者創建時間。如果以前麵相同的方式再次檢查基本屬性,您會發現最後修改時間已被修改,但是創建時間和最後訪問時間還保持原樣。

//    DosFileAttributeView 與 DosFileAttributes
//
//    這一視圖類允許您獲取指定給 DOS 的屬性。(您可能會猜想,這一視圖僅用於 Windows 係統。)其 readAttributes() 方法返回一個 DosFileAttributes 實例,該實例包含有問題的文件是否為隻讀、隱藏、係統文件、以及存檔文件等細節信息。這一視圖還包含針對每個屬性的 set*(boolean) 方法。
//    FileOwnerAttributeView 與 UserPrincipal
//
//    這一視圖類允許您獲取並設置特定文件的所有者。其 getOwner()方法返回一個 UserPrincipal(還處於 java.nio.file.attribute 包中),其又具有 getName() 方法,來返回包含所有者名字的 String。該視圖還提供 setOwner(UserPrincipal) 方法用於變更文件所有者。該視圖在所有平台上都可用。
//    FileStoreSpaceAttributeView 與 FileStoreSpaceAttributes
//
//    這一用很吸引人的方式命名的類,允許您獲取有關特定文件存儲的信息。其 readAttributes() 方法返回一個包含文件存儲的整個空間、未分配空間、以及已使用空間細節的 FileStoreSpaceAttributes 實例。這一視圖在所有平台上都可用。
//    PosixFileAttributeView 與 PosixFileAttributes
//
//    這一視圖類,僅在 UNIX® 係統上可用,允許您獲取並設置指定給 POSIX(Portable Operating System Interface)的屬性。其 readAttributes() 方法返回一個包含有關這一文件的所有者、組所有者、以及這一文件許可(這些細節通常用 UNIX chmod 命令設置)的 PosixFileAttributes 實例。這一視圖還提供 setOwner(UserPrincipal)、 setGroup(GroupPrincipal)、以及 setPermissions(Set<PosixFilePermission>) 來修改這些屬性。
//    UserDefinedFileAttributeView 與 String
//
//    這一視圖類,僅可用於 Windows,允許您獲取並設置文件的擴展屬性。 這些屬性跟其他的不同,它們隻是名稱值對,並可按需對其進行設置。 如果想向文件增加一些隱藏的元數據,而不必修改文件內容,這就很有用了。 這一屬性提供 list() 方法,來為相關的文件返回 List of String 擴展屬性的名字。
//
//    有了其名字後,就要獲取特定屬性的內容,這一視圖具有一個 size(String name) 方法來返回屬性值的大小,以及一個 read(String name, ByteBuffer dest) 方法來將屬性值讀取到 ByteBuffer 中。這一視圖還提供 write(String name, ByteBuffer source) 方法來創建或者修改屬性,以及一個 delete(String name) 方法來完全移除現有的屬性。
//
//    這可能是最有趣的新屬性視圖,因為它允許您利用任意 String 名字和 ByteBuffer 值向文件增加屬性。這很對 —— 其值是個 ByteBuffer,因此您可以在這裏存儲任何二進製數據。

    UserDefinedFileAttributeView userView
            = Files.getFileAttributeView(attribPath, UserDefinedFileAttributeView.class);
//    為獲取用戶為這一文件定義的屬性名,我們在視圖上調用 list() 方法:
    List<String> attribList = userView.list();
//    一旦我們擁有了想得到相關值的特定屬性名,就為該值分配一個大小合適的 ByteBuffer,然後調用視圖的 read(String, ByteBuffer) 方法:
//
//    ByteBuffer attribValue = ByteBuffer.allocate(userView.size(attribName));
//    userView.read(attribName, attribValue);
//
//    attribValue 現在包含了為那一特定屬性所存儲的任何數據。 想設置自己的屬性,隻需創建 ByteBuffer 並按需填入數據,然後在視圖上調用 write(String,
// ByteBuffer) 方法:
//
//    userView.write(attribName, attribValue);
  }
 
開發者ID:edgar615,項目名稱:javase-study,代碼行數:60,代碼來源:AttributeMain.java

示例15: getBackupFiles

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
private HashSet<String> getBackupFiles(final String folder) {

		final HashSet<String> backupFiles = new HashSet<>();

		final Path validPath = getValidPath(folder);
		if (validPath == null) {
			return backupFiles;
		}

		try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(validPath)) {

			for (final Path path : directoryStream) {

				try {

					final BasicFileAttributeView fileAttributesView = Files.getFileAttributeView(
							path,
							BasicFileAttributeView.class);

					final BasicFileAttributes fileAttributes = fileAttributesView.readAttributes();

					// ignore not regular files
					if (fileAttributes.isRegularFile()) {

						backupFiles.add(path.getFileName().toString());
					}

				} catch (final Exception e) {
// this can occure too often
//					TourLogManager.logEx(e);
				}

			}

		} catch (final IOException ex) {
			TourLogManager.logEx(ex);
		}

		return backupFiles;
	}
 
開發者ID:wolfgang-ch,項目名稱:mytourbook,代碼行數:41,代碼來源:EasyImportManager.java


注:本文中的java.nio.file.attribute.BasicFileAttributeView.readAttributes方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。