2017-08-30 4 views
-3

ここにコードがあります。このようなファイルの最終変更データと時刻を取得しようとしています。「30 August 2017、10:52:04」 。しかし、私はfile.lastModified()を使用してlong.Nowを返します、私はこれを行ったが、それは私に間違った価値を与えます。ファイルの最終変更データと時刻を取得する方法

public class FileEx { 

    public static void main(String[] args) { 
     try{ 
     File file=new File("D://task2"); 
     if(file.isFile()){ 
      System.out.println("file exists"); 
      System.out.println("abs pth ="+file.getAbsolutePath()); 
      System.out.println("pth= "+file.getCanonicalPath()); 
     } 
     else if (file.isDirectory()){ 
      System.out.println("directory"); 
      System.out.println("abs pth ="+file.getAbsolutePath()); 
      System.out.println("pth= "+file.getCanonicalPath()); 
      System.out.println("can write="+file.canWrite()); 
      System.out.println("parent file="+file.getParentFile()); 
      Date d = new Date(file.lastModified()); 
      System.out.println("modified="+ file.lastModified()+"time="+d); 
      System.out.println("parent="+file.getParent()); 
      System.out.println("name ="+file.getName()); 
      System.out.println("usuable space: "+file.getUsableSpace()/(1024*1024*1024)); 
      System.out.println("total space: "+file.getTotalSpace()/(1024*1024*1024)); 
      System.out.println("free space: "+file.getFreeSpace()/(1024*1024*1024)); 

     } 
     else{ 
      file.createNewFile(); 
     } 

     }catch(IOException io){ 
      io.printStackTrace(); 
     } 
    } 

} 
+0

? – shmosel

+2

'java.util.Date'、' java.util.Calendar'および 'SimpleDateFormat'を使用して、書式化された文字列としてLongの日付を取得します。 – Jens

+0

' long'は、Unix Epochからのミリ秒数の時間値です - あなたはそれを 'String'フォーマットの値に変換する方法についていくつかの調査をしたいかもしれません – MadProgrammer

答えて

0
あなたは SimpleDateFormatを使用してコードを次のように行うことができます

java.text.SimpleDateFormat sf = new java.text.SimpleDateFormat("yyyyMMddHHmmssSSS"); 
System.out.println("modified=" 
+ sf.format(new java.util.Date(file.lastModified()))+" time="+d); 

に関しては、どのような方法で間違った

+0

それは間違った答えを与えています – paras

+0

あなたの話を教えてください~~ – tommybee

関連する問題