JAVA读取文件的创建时间和修改时间

本文介绍了一种使用Java程序读取文件的创建时间和最后修改时间的方法。通过运行系统命令和利用File类的lastModified方法,文章提供了两种获取文件修改时间的方式,并展示了如何解析命令行输出以获得文件创建时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

http://emily2ly.iteye.com/blog/742799

 

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Calendar;

/**
 * 读取文件创建时间和最后修改时间
 */
public class ReadFileTime {

 public static void main(String[] args) {
  getCreateTime();
  getModifiedTime_1();
  getModifiedTime_2();  
 }

 /**
  * 读取文件创建时间
  */
 public static void getCreateTime(){
  String filePath = "C:\\test.txt";
  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); 
  //输出:创建时间 2009-08-17  10:21
 }
 /**
  * 读取文件修改时间的方法1
  */ 
 @SuppressWarnings("deprecation")
 public static void getModifiedTime_1(){
  File f = new File("C:\\test.txt");     
  Calendar cal = Calendar.getInstance();
  long time = f.lastModified();
  cal.setTimeInMillis(time); 
  //此处toLocalString()方法是不推荐的,但是仍可输出
  System.out.println("修改时间[1] " + cal.getTime().toLocaleString());
  //输出:修改时间[1] 2009-8-17 10:32:38
 }
 
 /**
  * 读取修改时间的方法2
  */
 public static void getModifiedTime_2(){
  File f = new File("C:\\test.txt");     
  Calendar cal = Calendar.getInstance();
  long time = f.lastModified();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  cal.setTimeInMillis(time); 
  System.out.println("修改时间[2] " + formatter.format(cal.getTime())); 
  //输出:修改时间[2] 2009-08-17 10:32:38
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值