import java.io.*;
import java.util.*;
public class TestFile
{
public static void main(String args[])
{
String input=args[0];
File fp=new File(input);

System.out.println("路径:"+fp.getParent());
System.out.println("文件名:"+fp.getName());
System.out.println("绝对路径:"+fp.getAbsolutePath());
System.out.println("文件大小:"+fp.length());
System.out.println("是否为文件:"+fp.isFile());
System.out.println("是否为目录:"+fp.isDirectory());
System.out.println("是否隐藏:"+fp.isHidden());
System.out.println("是否可读:"+fp.canRead());
System.out.println("是否可写:"+fp.canWrite());

  System.out.println("最后修改时间:"+new Date(fp.lastModified()));//这行
//好像有错,查不出来,谢谢
 
}
}

解决方案 »

  1.   

    System.out.println("最后修改时间:"+
    fp.lastModified().ToString());
      

  2.   

    为什么不能加new Date那句呀
      

  3.   

    fp.lastModified()表示文件最后一次被修改的时间的 long 值,用该时间与历元(1970 年 1 月 1 日,00:00:00 GMT)的时间差来计算此值(以毫秒为单位)。
    它本身就是一种时间的表示方式,所以不能再new Date了
      

  4.   

     long   值不能再new   Date了建议楼上的去查API
      

  5.   

    new Date()是新的一个Date对象,你可以直接把他println出来
    但是如果把他与字符串拼接就回出错了。如果改成System.out.println(new   Date(fp.lastModified()));//这行 
    就不会报错,不过打印出来的是new Date这个对象的地址。
      

  6.   

    java语法上没有任何错误。
    是这个文件运行结果和你想象的不一样还是因为运行的时候会报错?
    1.如果运行与预期的不同,请说明预期结果;
    2.如果运行时报错,请检查运行时候的参数,这个程序必须有参数传进去才能运行(String   input=args[0]; ),否则会有空指针错误
      

  7.   

    没有问题吧
    测试了一下;LZ的程序是没有问题的...
    不过最后一个给你稍微改了一下,看的清楚点..package file;import java.io.*; 
    import java.util.*;
    import java.text.SimpleDateFormat;;
    public   class   TestFile 

    public   static   void   main(String[] args) 

    String   input="c:\\a.txt"; 
    File   fp=new   File(input); System.out.println("路径:"+fp.getParent()); 
    System.out.println("文件名:"+fp.getName()); 
    System.out.println("绝对路径:"+fp.getAbsolutePath()); 
    System.out.println("文件大小:"+fp.length()); 
    System.out.println("是否为文件:"+fp.isFile()); 
    System.out.println("是否为目录:"+fp.isDirectory()); 
    System.out.println("是否隐藏:"+fp.isHidden()); 
    System.out.println("是否可读:"+fp.canRead()); 
    System.out.println("是否可写:"+fp.canWrite()); 
    SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date mydate=new Date(fp.lastModified());
    System.out.println("最后修改时间:"+format.format(mydate));//这行 
    //好像有错,查不出来,谢谢 
      

      

  8.   


    java.util.Date中带毫秒数的构造没有过期啊,可以使用的。看不出有什么错误。
      

  9.   

    看看api文档
    Date
    public Date(long date)
    分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
    有文档看来,你的构造方法没有错!
    编译到是没错,但不能运行。
    E:\>javac TestFile.javaE:\>java TestFile
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
            at TestFile.main(TestFile.java:7)
    为什么不直接打印出最后运行的时间呢?直接用
    System.out.println("最后修改时间:"+(fp.lastModified()));