當前位置:首頁 » 編程語言 » java文件的創建時間

java文件的創建時間

發布時間: 2022-05-18 01:31:16

java怎樣實現獲取文件創建時間啊,求幫助。

Java只能讀取到文件的最後修改時間,不能獲取創建時間,

創建時間是利用了cmd命令獲取的:

publicclassFileTest{

publicstaticvoidmain(String[]args){
getCreateTime("d:\test-1.txt");
getModifiedTime("d:\test-1.txt");
}

publicstaticvoidgetCreateTime(StringfilePath){
StringstrTime=null;
try{
Processp=Runtime.getRuntime().exec("cmd/Cdir"+filePath+"/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringline;
while((line=br.readLine())!=null){
if(line.endsWith(".txt")){
strTime=line.substring(0,17);
break;
}
}
}catch(IOExceptione){
e.printStackTrace();
}
System.out.println("創建時間"+strTime);
}
(StringfilePath){
longtime=newFile(filePath).lastModified();
Stringctime=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss").format(newDate(time));
System.out.println("修改時間[1]"+ctime);
}
}

⑵ Java如何獲取文件的創建時間

能不能換個思路~~~汗啊~!好像用java的函數只能取得lastModified()有一個比較笨的方法
Process p=Runtime.getRuntime().exec("dir startup.bat /t -c");
然後取得p的輸出信息就可以得到創建時間了!上面的例子我是得到tomcat的startup.bat這個文件的創建時間,如果你想得到其它文件的創建時間就可以將startup.bat換成其它文件名!study and mark ^_^如果用dir, 取得創建時間的參數是/TC路過學習ing幫您頂java是用native來獲取操作系統的支持,從而對文件進行操作。
具體實現類是
java.io.FileSystem
這個類是私有的只能在jdk內部使用,由於這個類沒有提供文件時間創建的介面,你也就沒有辦法用純java來獲得這一個功能(但願不是這樣)。
有一個簡單的方法是自己調用系統函數,或者乾脆調用各C函數
先寫各本地類訪問方法
class MyFileSystem{
public native void getCreatFileTime(File f);static {System.loadLibrary(" ");}
public static void main(String[] args) {
new HelloWorld().getCreatFileTime();}}編譯本文件然後執行 javah,便會自動產生頭文件 MyFileSystem.h
函數的具體實現如下:
#include
#include "MyFileSystem.h"
#include
JNIEXPORT double JNICALL
Java_MyFileSystem_displayHelloWorld(JNIEnv *env, jobject obj){//在這里調用C函數
double time=getFileCreatTime_IN_C(obj)
return time;}高手如雲,我心忐忑
奮發圖強~高手如雲,我心忐忑奮發圖強~me too,高手如雲,我心忐忑奮發圖強~me too,too還有可以復制java.io.FileSystem及相關類的源代碼,把所有東西成public的,這樣總可以用了吧,
當然把類名也改掉。。。。。頂!
Study!Up!!!頂一下!
支持upFile f = new File("d:\\a.txt");
Date date = new Date();
long L = date.getTime();
f.setLastModified(L);
以上個函數可以設置文件的最後修改時間,以及設置文件為「只讀」屬性頂!!!

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

⑷ Java獲取文件創建時間為空

//如果你的jdk環境是1.7或以上,建議使用
try{

BasicFileAttributesbf=Files.readAttributes(Paths.get("F:/aaa.txt"),BasicFileAttributes.class);

bf.creationTime().toMillis();//獲取到創建時間的毫秒數,自己轉成date類型

}catch(IOExceptione){

e.printStackTrace();

}
//BasicFileAttributes這個還可以獲取文件大小,最近修改時間

⑸ java怎麼獲取文件的創建時間,最後訪問時間

假如你的jdk環境可以在1.7或之上,推薦你用nio包下的一個對象

代碼如下:

Pathp=Paths.get("C:/1.txt")

try{

BasicFileAttributesatt=Files.readAttributes(p,BasicFileAttributes.class);//獲取文件的屬性
att.creationTime().toMillis();

att.lastAccessTime().toMillis();

att.lastModifiedTime().toMillis();

}catch(IOExceptione1){

e1.printStackTrace();

}

//如各個方法名稱顯示的,你研究下吧

⑹ java 如何獲得一個文件夾的創建時間 具體點

System.out.println("文件/文件夾的最後修改時間:" + new Date(file.lastModified()).toLocaleString());

⑺ java中的File類修改文件創建時間

setLastModified(long time)
設置此抽象路徑名指定的文件或目錄的最後一次修改時間。

參數:
最後一次修改時間,用與時間點(1970 年 1 月 1 日,00:00:00 GMT)之間的毫秒數表示

返回值:
當且僅當該操作成功時,返回 true;否則返回 false

⑻ Java中如何得到文件的創建時間&最後修改時間

java中只能用java.io.File獲得文件的最後修改時間,如下:

比如我在D盤有個文件夾a,現在要獲取其創建時間:
File file = new File("D:\a");
long time = file.lastModified();//返迴文件最後修改時間,是以個long型毫秒數
String ctime = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date(time));
System.out.println(ctime);


想要獲得文件的創建時間,那麼只能用java去掉命令實現了,若為windows系統,想要拿到創建時間必須依賴Windows系統的API,通過調CMD命令實現,代碼如下:

publicstaticvoidmain(String[]args){
try{
Processp=Runtime.getRuntime().exec("cmd/Cdird:\test.txt/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringstr;
inti=0;
while((str=br.readLine())!=null){
i++;
if(i==6){
System.out.println(str.substring(0,17));
}
}
}catch(java.io.IOExceptionexc){
exc.printStackTrace();
}
}

⑼ 如何用java獲取一個文件的創建時間

java沒有函數能直接拿到文件的創建時間lastModified()只能獲得最後一次修改時間
想要拿到創建時間必須依賴Windows系統的API,通過調CMD命令實現,
代碼如下:
publicstaticvoidmain(String[]args){
try{
Processp=Runtime.getRuntime().exec(
"cmd/Cdird:\test.txt/tc");
InputStreamis=p.getInputStream();
BufferedReaderbr=newBufferedReader(newInputStreamReader(is));
Stringstr;
inti=0;
while((str=br.readLine())!=null){
i++;
if(i==6){
System.out.println(str.substring(0,17));
}
}

}catch(java.io.IOExceptionexc){
exc.printStackTrace();
}
}

⑽ Java中文件創建時間和現在系統時間的時間間隔怎麼計算

package com.test;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.StringTokenizer;
/**
* Fileの時間を取得用クラス
*
* @author 徐小慧
* @version 1.0.0 $Id: Timetake 12254 2007-08-16 04:35:16Z
* xuxh $
* @since R1.0.0
*/
public class GetFileCreateTime {
/**
* Fileの時間
* @param _file _file
* @return datetime datetime
*/
public static 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);
br.close();
return datetime;
} catch (Exception e) {
return null;
}
}
public static int getDaysBetweenDate(Date d1, Date d2){
int days;
days = (int) ((d1.getTime() - d2.getTime())/(24*60*60*1000));
return days;
}
public static void main(String[] args){
//指定文件
File file = new File("D://安裝工具//aalf.dat");
//獲取創建日期
String time = GetFileCreateTime.getFileCreateDate(file);
SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-ddhh:mm");
Date date = null;
try {
date = d.parse(time);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//列印時間間隔
System.out.println(getDaysBetweenDate(new Date(), date));
}
}

熱點內容
oraclesql執行存儲過程 發布:2024-04-24 14:28:07 瀏覽:454
vos伺服器是什麼 發布:2024-04-24 14:17:50 瀏覽:826
冰菓資料庫 發布:2024-04-24 14:17:36 瀏覽:82
鴻蒙系統安卓系統蘋果系統哪個好 發布:2024-04-24 14:04:43 瀏覽:744
網上郵政儲蓄銀行如何修改密碼 發布:2024-04-24 13:57:57 瀏覽:27
sqlserverexistsin 發布:2024-04-24 13:23:13 瀏覽:321
壓縮包暴力破解器 發布:2024-04-24 13:21:46 瀏覽:279
微信對接配置要注意哪些 發布:2024-04-24 13:12:27 瀏覽:657
演算法推薦分類 發布:2024-04-24 13:11:46 瀏覽:804
思域十一代選哪個配置 發布:2024-04-24 13:11:46 瀏覽:369