×

java获取文件时间

java获取文件时间(java获取文件的修改时间)

admin admin 发表于2023-03-21 07:49:07 浏览25 评论0

抢沙发发表评论

本文目录一览:

JAVA怎样实现获取文件创建时间啊,求帮助。

Java只能读取到文件的最后修改时间,不能获取创建时间,

创建时间是利用了cmd命令获取的:

public class FileTest {

 

 public static void main(String[] args) {

  getCreateTime("d:\\test-1.txt");

  getModifiedTime("d:\\test-1.txt");

 }

 

 public static void getCreateTime(String filePath) {

  String strTime = null;

  try {

   Process p = Runtime.getRuntime().exec("cmd /C dir " + filePath + "/tc");

   InputStream is = p.getInputStream();

   BufferedReader br = new BufferedReader(new InputStreamReader(is));

   String line;

   while ((line = br.readLine()) != null) {

    if (line.endsWith(".txt")) {

     strTime = line.substring(0, 17);

     break;

    }

   }

  } catch (IOException e) {

   e.printStackTrace();

  }

  System.out.println("创建时间    " + strTime);

 }

 public static void getModifiedTime(String filePath) {

  long time = new File(filePath).lastModified();

  String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(time));

  System.out.println("修改时间[1] " + ctime);

 }

}

如何用java获取一个文件的创建时间

 java没有函数能直接拿到文件的创建时间lastModified()只能获得最后一次修改时间

 想要拿到创建时间必须依赖Windows系统的API,通过调CMD命令实现,

 代码如下:

 public static void main(String[] args) {  

        try {  

            Process p = Runtime.getRuntime().exec(  

                    "cmd /C dir d:\\test.txt /tc");  

            InputStream is = p.getInputStream();  

            BufferedReader br = new BufferedReader(new InputStreamReader(is));  

            String str;  

            int i = 0;  

            while ((str = br.readLine()) != null) {  

                i++;  

                if (i == 6) {  

                    System.out.println(str.substring(0, 17));  

                }  

            }  

  

        } catch (java.io.IOException exc) {  

            exc.printStackTrace();  

        }  

    }

java 查看文件创建时间

在java中没有正式的方法来获取文件的创建时间,但是,可以使用下面的解决方法在Windows平台上获取文件的创建日期。

java如何获取文件的创建日期

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; i6; 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

java循环获取文件夹里文件创建时间 。。

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.StringTokenizer;

public class RectangleMethod {

public static void main(String[] args) {

RectangleMethod rm = new RectangleMethod();

//String s = rm.getFileCreateDate("D:/srdddd");

rm.getDate("D:/srdddd");

}

//方法一

public String getDate(String path){

String date = "";

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

File f = new File(path);

if (f.isDirectory()) {

File files[] = f.listFiles();

for (int i = 0; i files.length; i++) {

getDate(files[i].getAbsolutePath());

}

}else if (f.isFile()) {

date = f.getName() + ":" + df.format(new Date(f.lastModified()));

System.out.println(date);

}

return date;

}

//方法二

public String getFileCreateDate(String path) {

String date = "";

File f = new File(path);

if (f.isDirectory()) {//判断为文件夹

File files[] = f.listFiles();

for (int i = 0; i files.length; i++) {

//递归处理

getFileCreateDate(files[i].getAbsolutePath());

}

} else if (f.isFile()) {//判断为文件

date = f.getName() + ":" + getFileCreateDate(f);

//打印时间你也可以进行其他操作比如写入到一个文件中

System.out.println(date);

}

return date;

}

public String getFileCreateDate(File _file) {

File file = _file;

try {

Process ls_proc = Runtime.getRuntime().exec(

"cmd.exe /c dir " + file.getAbsolutePath() + " /tc");

BufferedReader br = new BufferedReader(new InputStreamReader(

ls_proc.getInputStream()));

for (int i = 0; i 5; i++) {

br.readLine();

}

String stuff = br.readLine();

StringTokenizer st = new StringTokenizer(stuff);

String dateC = st.nextToken();

String time = st.nextToken();

String datetime = dateC.concat(" " + time);

SimpleDateFormat formatter2 = new SimpleDateFormat(

"yyyy-MM-dd hh:mm");

SimpleDateFormat formatter1 = new SimpleDateFormat(

"yyyy/MM/dd HH:mm");

//System.out.println(formatter2.parse(datetime));

datetime = formatter1.format(formatter2.parse(datetime));

br.close();

return datetime;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

}

代码如上,希望能帮到你