2016-12-09 2 views
-1

私はこの同じコードを2つの異なるJavaプログラム、つまりWindows 10上に実装しましたが、出力は似ていませんでした。2つの異なるJAVAプログラムでテストしたとき、同じコードで異なる作成日と変更日付が得られますか?

public DateParser(String path){ 
    Path p = Paths.get(path); 
    BasicFileAttributes attr; 

    try { 
     attr = Files.readAttributes(p, BasicFileAttributes.class); 
     System.out.println("creationTime:  " + attr.creationTime()); 
     System.out.println("lastAccessTime: " + attr.lastAccessTime()); 
     System.out.println("lastModifiedTime: " + attr.lastModifiedTime()); 

    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

OUTPUT: 
**1st program:** 
creationTime:  2016-11-11T04:02:43.14781Z 
lastAccessTime: 2016-11-11T04:04:28.683961Z 
lastModifiedTime: 2016-11-11T04:04:28.683961Z 

**2nd program:** 
creationTime: 2016-12-08T11:10:13.263119Z 
lastAccessTime: 2016-12-08T12:19:51.453563Z 
lastModifiedTime: 2016-11-30T09:00:13.404582Z 
+2

違いはわかりません。私はなぜそれが不思議です。それは質問文で見るべき出力がないからでしょうか?あなたは同じファイルの属性を読んでいると確信していますか?読んでください:[最小限の、完全で、証明可能な例の作成方法](http://stackoverflow.com/help/mcve)。また:[良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask) – Andreas

答えて

0

両Javaプログラムが別のファイルを読み込むことがあり、あなたがrelativeパスを使用している場合があります。 Javaプログラムは、異なる場所から実行されている可能性があります。

また、次の点を確認してください。

  • は、両方のプログラムと同様に渡されたパス引数ですか?
  • パス引数は絶対または相対であるか?
+0

いいえ、両方のプログラムが同じファイルを読み込んでいて、絶対パスを使用しています。 – Tuse

関連する問題