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


Java BasicFileAttributeView.setTimes方法代碼示例

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


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

示例1: postVisitDirectory

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc)
		throws IOException {
	try {
		if (copyOptionsSet.contains(COPY_ATTRIBUTES)) {
			/*
			 * Copy file times. Inspired by
			 * java.nio.file.CopyMoveHelper.copyToForeignTarget()
			 */
			BasicFileAttributes attrs = readAttributes(dir,
					BasicFileAttributes.class, linkOptions);
			BasicFileAttributeView view = getFileAttributeView(
					toDestination(dir), BasicFileAttributeView.class,
					linkOptions);
			view.setTimes(attrs.lastModifiedTime(), attrs.lastAccessTime(),
					attrs.creationTime());
		}
		return CONTINUE;
	} catch (IOException ex) {
		return visitFileFailed(dir, ex);
	}
}
 
開發者ID:apache,項目名稱:incubator-taverna-language,代碼行數:23,代碼來源:RecursiveCopyFileVisitor.java

示例2: testSetLastModifiedTimeAfterMove

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Test
public void testSetLastModifiedTimeAfterMove() throws Exception {
    Path path = root.resolve("test");
    Files.createFile(path);
    BasicFileAttributeView view = Files.getFileAttributeView(path, BasicFileAttributeView.class);
    
    Path movedTo = root.resolve("test2");
    Files.move(path, movedTo);
    long newModified = roundToSeconds(System.currentTimeMillis()) - 10000;
    
    try {
        view.setTimes(FileTime.fromMillis(newModified), null, null);
        fail();
    } catch (NoSuchFileException e) {
        //pass
    }
    
}
 
開發者ID:sbridges,項目名稱:ephemeralfs,代碼行數:19,代碼來源:BasicFileAttributesTest.java

示例3: main

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static void main( String[] args )
        throws IOException {

    Path atxt = Paths.get( "a.txt" );
    BasicFileAttributes basic = Files.readAttributes( atxt , BasicFileAttributes.class );
    FileTime creationTime = basic.creationTime();
    FileTime lastAccessTime = basic.lastAccessTime();
    FileTime lastModifiedTime = basic.lastModifiedTime();
    mostrar( creationTime , lastAccessTime , lastModifiedTime , basic );

    System.out.println( "\nsetando os atributos de a.txt para a_copy.txt" );
    Path aCopy = Paths.get( "a_copy.txt" );
    BasicFileAttributeView basicView = Files.getFileAttributeView( aCopy ,
                                                                   BasicFileAttributeView.class );
    basicView.setTimes( lastModifiedTime , lastAccessTime , creationTime );
    basic = Files.readAttributes( aCopy , BasicFileAttributes.class );
    creationTime = basic.creationTime();
    lastAccessTime = basic.lastAccessTime();
    lastModifiedTime = basic.lastModifiedTime();
    mostrar( creationTime , lastAccessTime , lastModifiedTime , basic );
}
 
開發者ID:juliocnsouzadev,項目名稱:ocpjp,代碼行數:22,代碼來源:WorkingBasicFileAttributes.java

示例4: setTimes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Sets the {@link Path}'s last modified time and last access time to
 * the given valid times.
 *
 * @param mtime the modification time to set (only if no less than zero).
 * @param atime the access time to set (only if no less than zero).
 * @throws IOException if setting the times fails.
 */
@Override
public void setTimes(Path p, long mtime, long atime) throws IOException {
  try {
    BasicFileAttributeView view = Files.getFileAttributeView(
        pathToFile(p).toPath(), BasicFileAttributeView.class);
    FileTime fmtime = (mtime >= 0) ? FileTime.fromMillis(mtime) : null;
    FileTime fatime = (atime >= 0) ? FileTime.fromMillis(atime) : null;
    view.setTimes(fmtime, fatime, null);
  } catch (NoSuchFileException e) {
    throw new FileNotFoundException("File " + p + " does not exist");
  }
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:21,代碼來源:RawLocalFileSystem.java

示例5: preVisitDirectory

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
    Path resolve = resolve(dir);
    if (!Files.exists(resolve)) {
        Files.createDirectories(resolve);
        BasicFileAttributeView view = Files.getFileAttributeView(resolve, BasicFileAttributeView.class);
        view.setTimes(attrs.lastModifiedTime(), attrs.lastAccessTime(), attrs.creationTime());
    }
    return FileVisitResult.CONTINUE;
}
 
開發者ID:zjnu-acm,項目名稱:judge,代碼行數:11,代碼來源:CopyHelper.java

示例6: setAttributes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
@Override
public void setAttributes(File downloadFile, Date created, Date lastModified) throws IOException {
    BasicFileAttributeView attributes = Files.getFileAttributeView(downloadFile.toPath(), BasicFileAttributeView.class);
    FileTime createdFt = FileTime.fromMillis(created.getTime());
    FileTime lastModifiedFt = FileTime.fromMillis(lastModified.getTime());
    attributes.setTimes(lastModifiedFt, lastModifiedFt, createdFt);
}
 
開發者ID:wooti,項目名稱:onedrive-java-client,代碼行數:8,代碼來源:RWFileSystemProvider.java

示例7: setTimes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static void setTimes(Path path, Date lastModifiedTime, Date lastAccessTime, Date creationTIme) throws IOException {
	BasicFileAttributeView attrs = Files.getFileAttributeView(path, BasicFileAttributeView.class);
	attrs.setTimes(
			(lastModifiedTime == null) ? null : FileTime.fromMillis(lastModifiedTime.getTime()),
			(lastAccessTime == null) ? null : FileTime.fromMillis(lastAccessTime.getTime()),
			(creationTIme == null) ? null : FileTime.fromMillis(creationTIme.getTime())
			);
}
 
開發者ID:mifmi,項目名稱:mifmi-commons4j,代碼行數:9,代碼來源:FileUtilz.java

示例8: setFileTimes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Restore the creation time , access time and modified time to local
 *
 * @param filePath path of local file
 * @param creationTime creation time got from server
 * @param lastModifiedTime modified time got from server
 * @param lastAccessedTime last aceess time got from server
 */
private void setFileTimes(final String filePath,
                          final String creationTime,
                          final String lastModifiedTime,
                          final String lastAccessedTime)
    throws IOException
{
    final BasicFileAttributeView attributes = Files.getFileAttributeView(Paths.get(filePath), BasicFileAttributeView.class);
    final FileTime timeCreation = FileTime.fromMillis(Long.parseLong(creationTime));
    final FileTime timeModified = FileTime.fromMillis(Long.parseLong(lastModifiedTime));
    final FileTime timeAccessed = FileTime.fromMillis(Long.parseLong(lastAccessedTime));
    attributes.setTimes(timeModified, timeAccessed, timeCreation);
}
 
開發者ID:SpectraLogic,項目名稱:ds3_java_sdk,代碼行數:21,代碼來源:AbstractMetadataRestore.java

示例9: 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

示例10: setFileCreationDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
public static void setFileCreationDate(String filePath, Date creationDate) throws IOException
{
    BasicFileAttributeView attributes = Files.getFileAttributeView(Paths.get(filePath), BasicFileAttributeView.class);
    FileTime time = FileTime.fromMillis(creationDate.getTime());
    attributes.setTimes(time, time, time);
}
 
開發者ID:RetroFloppy,項目名稱:transformenator,代碼行數:7,代碼來源:ExtractIBM8Files.java

示例11: setFileCreationDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
private void setFileCreationDate(File f, long time) throws IOException {
  BasicFileAttributeView attributes = Files.getFileAttributeView(f.toPath(), BasicFileAttributeView.class);
  FileTime creationTime = FileTime.fromMillis(time);
  attributes.setTimes(creationTime, creationTime, creationTime);
}
 
開發者ID:instalint-org,項目名稱:instalint,代碼行數:6,代碼來源:GlobalTempFolderProviderTest.java

示例12: initWriteFile

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
 * Creates the new file for writing.
 * @param chunk
 * @throws IOException
 */
protected void initWriteFile(FileChunk chunk) throws IOException
{
  file = new File(dir, chunk.getFileName());
  
  moveExistingFile();
  
  fileName = chunk.getFileName();
  BasicFileAttributeView attrView = Files
      .getFileAttributeView(file.toPath(), BasicFileAttributeView.class);
  
  attrView.setTimes(FileTime.fromMillis(chunk.getLastModifiedTime()),
      FileTime.fromMillis(chunk.getLastAccessTime()),
      FileTime.fromMillis(chunk.getCreationTime()));
  
  getFileAttributes();
  
  fileSize = file.length();
  
  
}
 
開發者ID:javanotes,項目名稱:reactive-data,代碼行數:26,代碼來源:AbstractFileChunkHandler.java

示例13: 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

示例14: createFileWithDate

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
private Path createFileWithDate(Path path, FileTime todayMinus15) throws IOException {
    Path file = Files.createFile(path);
    BasicFileAttributeView fileAttributeView = Files.getFileAttributeView(file, BasicFileAttributeView.class);
    fileAttributeView.setTimes(todayMinus15, todayMinus15, todayMinus15);
    return file;
}
 
開發者ID:ConSol,項目名稱:sakuli,代碼行數:7,代碼來源:LogCleanUpResultServiceImplTest.java

示例15: setTimes

import java.nio.file.attribute.BasicFileAttributeView; //導入方法依賴的package包/類
/**
  * Set access time of a file
  * @param p The path
  * @param mtime Set the modification time of this file.
  *              The number of milliseconds since Jan 1, 1970. 
  *              A value of -1 means that this call should not set modification time.
  * @param atime Set the access time of this file.
  *              The number of milliseconds since Jan 1, 1970. 
  *              A value of -1 means that this call should not set access time.
  */
 @Override
 public void setTimes(Path path, long mtime, long atime) throws IOException {	  
java.nio.file.Path p = FileSystems.getDefault().getPath(pathToFile(path).getAbsolutePath());
BasicFileAttributeView view = Files.getFileAttributeView(p, BasicFileAttributeView.class);	  
view.setTimes(mtime == -1 ? null : FileTime.fromMillis(mtime),
  atime == -1 ? null : FileTime.fromMillis(atime), null);
 }
 
開發者ID:intel-hpdd,項目名稱:lustre-connector-for-hadoop,代碼行數:18,代碼來源:LustreFileSystem.java


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