Javaでファイルを作成する公式の方法はありません。

ただし、次の回避策を使用して、Windowsプラットフォームでファイルの作成日を取得することができます。

仕組み

Windowsのコマンドプロンプトで、コマンドを入力してファイルの作成日を指定します。

C:\>cmd/c dir c:\logfile.log/tc
 Volume in drive C has no label.
 Volume Serial Number is 0410-1EC3

 Directory of c:\

31/05/2010  08:05                14 logfile.log
               1 File(s)             14 bytes
               0 Dir(s)  35,389,460,480 bytes free



31/05/2010 08:05

“が必要です。アイデアは、上記のコマンドを実行するためにJava ”

Runtime.getRuntime()。exec

“を使用し、出力を保持し、日時を取得するまで行で解析します。


この例では、ファイル(c:\\ logfile.log)の作成日を取得します。

package com.mkyong.file;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class GetFileCreationDateExample
{
    public static void main(String[]args)
    {

        try{

            Process proc =
               Runtime.getRuntime().exec("cmd/c dir c:\\logfile.log/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();

        }

    }
}

結果

Extracted value : 31/05/2010  08:05  14 logfile.log
Creation Date  : 31/05/2010
Creation Time  : 08:05

リンク://タグ/ファイル/[ファイル]リンク://タグ/io/[io]リンク://タグ/java/[java]