JAVA IO - 文件的建立時間

JAVA沒有嚴格意義上的函數能夠獲得函數的建立時間,不過在jdk7以後能夠用下面的程序來得到。 java

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


public class CreateTimeTest {
    public static void main(String args[]) throws Exception{
    	//public void printFileCreationTime() throws IOException {
    		Path path = Paths.get("C:\\work\\hello\\hello\\helloworld.txt");
    		BasicFileAttributeView basicView = Files.getFileAttributeView(path, BasicFileAttributeView.class);
    		BasicFileAttributes basicAttr = basicView.readAttributes();
    		System.out.println(String.format("BasicFileAttribute creationTime: %s", basicAttr.creationTime()));
    		
    }
}


變通的方法是經過執行系統命令來或得數據而後獲得建立時間。 函數

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.BasicFileAttributeView;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.StringTokenizer;


public class CreateTimeTest {
    public static void main(String args[]) throws Exception{
    	//public void printFileCreationTime() throws IOException {
    		Path path = Paths.get("C:\\work\\hello\\hello\\helloworld.txt");
    		BasicFileAttributeView basicView = Files.getFileAttributeView(path, BasicFileAttributeView.class);
    		BasicFileAttributes basicAttr = basicView.readAttributes();
    		System.out.println(String.format("BasicFileAttribute creationTime: %s", basicAttr.creationTime()));
    		main1(args);
    }
    
    public static void main1(String[] args)
    {	
 
    	try{
 
    		Process proc = 
    		   Runtime.getRuntime().exec("cmd /c dir C:\\work\\hello\\hello\\helloworld.txt /tc");
 
    		BufferedReader br = 
    		   new BufferedReader(
    		      new InputStreamReader(proc.getInputStream()));
 
    		String data ="";
 
    		//it's quite stupid but work
    		for(int i=0; i<6; i++){
    			data = br.readLine();
    		}
 
    		System.out.println("Extracted value : " + data);
 
    		//split by space
    		StringTokenizer st = new StringTokenizer(data);
    		String date = st.nextToken();//Get date
    		String time = st.nextToken();//Get time
 
    		System.out.println("Creation Date  : " + date);
    		System.out.println("Creation Time  : " + time);
 
    	}catch(IOException e){
 
    		e.printStackTrace();
 
    	}
 
    }
}
相關文章
相關標籤/搜索