Java 7如何操纵文件属性(二)

2014-11-24 07:53:51 · 作者: · 浏览: 1
y{ BasicFileAttributes ra = Files.readAttributes(fp, BasicFileAttributes.class); long currentTimeMillis = System.currentTimeMillis(); FileTime fileTime = FileTime.fromMillis(currentTimeMillis); Files.setAttribute(fp, "basic:creationTime", fileTime); FileTime creationTime = (FileTime)Files.getAttribute(fp, "basic:creationTime"); System.out.println("NEW CREATION TIME:" + creationTime.toString()); System.out.println("OLD CREATION TIME:" + ra.creationTime()); }catch(IOException e){ Logger.getLogger(UpdateFileAttribute1.class.getName()).log(Level.SEVERE, null, e); } } }输出:

NEW CREATION TIME:2013-12-10T15:04:26.159Z
OLD CREATION TIME:2013-04-09T05:45:30.685152Z

4、还可以修改文件别的属性

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.util.logging.Level;
import java.util.logging.Logger;

public class UpdateFileAttribute2 {
	public static void main(String[] args){
		Path fp = Paths.get("D:\\test.txt");
		try{
			BasicFileAttributes ra = Files.readAttributes(fp, BasicFileAttributes.class);
			long currentTimeMillis = System.currentTimeMillis();
			FileTime fileTime = FileTime.fromMillis(currentTimeMillis);
			Files.setAttribute(fp, "basic:lastAccessTime", fileTime);
			FileTime creationTime = (FileTime)Files.getAttribute(fp, "basic:lastAccessTime");
			System.out.println("NEW LAST-ACCESS-TIME:" + creationTime.toString());
			System.out.println("OLD LAST-ACCESS-TIME:" + ra.lastAccessTime());
		}catch(IOException e){
			Logger.getLogger(UpdateFileAttribute2.class.getName()).log(Level.SEVERE, null, e);
		}
	}
}
输出:

NEW LAST-ACCESS-TIME:2013-12-10T15:07:46.261Z
OLD LAST-ACCESS-TIME:2013-08-12T00:30:43.19369Z

5、另一种修改文件属性的方法

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributes;
import java.nio.file.attribute.FileTime;
import java.util.logging.Level;
import java.util.logging.Logger;

public class UpdateFileAttribute3 {
	public static void main(String[] args){
		Path fp = Paths.get("D:\\test.txt");
		try{
			BasicFileAttributes ra = Files.readAttributes(fp, BasicFileAttributes.class);
			long currentTimeMillis = System.currentTimeMillis();
			FileTime fileTime = FileTime.fromMillis(currentTimeMillis);
			Files.setLastModifiedTime(fp, fileTime);
			FileTime time = (FileTime)Files.getAttribute(fp, "basic:lastModifiedTime");
			System.out.println("NEW LAST-MODIFIED-TIME:" + time.toString());
			System.out.println("OLD LAST-MODIFIED-TIME:" + ra.lastModifiedTime());
		}catch(IOException e){
			Logger.getLogger(UpdateFileAttribute3.class.getName()).log(Level.SEVERE, null, e);
		}
	}
}
输出:
NEW LAST-MODIFIED-TIME:2013-12-10T15:13:07.134Z
OLD LAST-MODIFIED-TIME:2013-12-10T13:35:08.438828Z