java把文件的修改时间
❶ 为什么java对某些文件修改时间的设定不精确
可以通过File流的lastModified方法获取到修改时间的。举例:
public static void getModifiedTime(){
File f = new File("C:\\test.txt");
Calendar cal = Calendar.getInstance();
long time = f.lastModified();
cal.setTimeInMillis(time);
System.out.println("修改时间: " + cal.getTime().toLocaleString());
}
结果:修改时间:2015-06-29 10:32:38
❷ 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 API只能获取文件更新时间 获取文件创建时间可以使用process 来调用dir命令
❺ JAVA 如何通过IP获取局域网中其它电脑里文件的修改日期
你好,关于这个问题,我认为需要多个技术的配合使用才可以。
根据你的要求:
第一步:做到通过IP地址查找局域网中其它电脑。
第二步:要获得文件查看的权限
第三部:要将文件的修改日期提取出来以某种形式发送回你的电脑
提供两种解决思路:
第一种:用java编写一个图形化的远程控制软件(直观,图像化不过难度不小)。
第二种:编写一个远程控制软件,要保证可以调用CMD,通过windows自带命令获取文件修改日期。
如果你是本机这个将很好做,但是因为是查看其它电脑,必然涉及到权限问题和值返回问题。而且如果不是裸机问题更多。
❻ java编写程序获取指定文件的最后修改时间
package com.xian.home2;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
public class FileOperate {
/**
* @param args
*/
public static void main(String[] args) {
// FileOperate fo = new FileOperate();
// String filepath = "G:\\02";
// fo.getFileList(filepath);
getCreateTime();
}
public List<File> getFileList(String filepath) {
try {
File file = new File(filepath);
if (file.isDirectory()) {
String[] filelist = file.list();
for (int i = 0; i < filelist.length; i++) {
File Ifile = new File(filepath + "\\" + filelist[i]);
FileInputStream fis = new FileInputStream(Ifile);
long modifiedTime = Ifile.lastModified();
Date date=new Date(modifiedTime);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:MM");
String dd=sdf.format(date);
System.out.println("File name:" + Ifile.getName()
+ " \tFile size: "
+ (double) ((double) fis.available() / 1024 / 1024)
+ "M"+ " \tFile create Time: "+dd);
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 读取文件创建时间
*/
public static void getCreateTime(){
String filePath = "G:\\02\\123.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
}
}
❼ 求java代码:将指定路径下文件的修改时间是一个月之前的所有的文件删除,例如将D:/log路径下的文件
方法delete(path){
1、根据path找到文件
2、获取文件所有子文件
3、判断是否为文件夹,若不是则删除
4、若为文件夹则:delete(该文件夹path);
}
❽ java如何取路径下所有文件夹和文件并取出最后修改日期
publicvoidgetFileDir()
{
Filefile=newFile("D:/");
File[]list=file.listFiles(newFileFilter()
{
@Override
publicbooleanaccept(Filedir)
{
if(dir.isDirectory())
{
returntrue;
}
else
{
returnfalse;
}
}
});
FormatsimpleFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");for(inti=0;i<list.length;i++)
{
System.out.println("fileName:"+list[i].getName());
Dated=newDate(list[i].lastModified());
StringdateString=simpleFormat.format(d);
System.out.println("modifyTime:"+dateString);
}
}
你格式化日期就好了,我这只取了目录,忽略上边的就行了