如何取得c:\test这个目录下的所有文件呢,取得的显示方式如下,用控制台输入即可文件名    文件大小  创建日期  
test.txt     20M       2007-09-09
tfaw.txt     20M       2007-09-09
dfed.txt     20M       2007-09-09
awfe.txt     20M       2007-09-09
....

解决方案 »

  1.   

    File f=new File("c:\\");;
            File files[]=f.listFiles(new FileFilter(){
                public boolean accept(File pathname) {
                    return pathname.isFile();
                }
            });
            for(int i=0;i<files.length;i++){
                File tempfile=files[i]; 
                System.out.println(tempfile.getName()+" \t"+tempfile.length()+" \t"+new Date(tempfile.lastModified()));
            }
      

  2.   

    public   static   void   deleteSrcPicture(String   s_path)   
      {   
      try   
      {   
      File   s_file   =   new   File(   s_path.toString()   );   
      if   (!s_file.exists())   
      {   
      System.out.println(   "s_file   is   not   a   directory."   );   
      return;   
      }   
      File[]   files   =   s_file.listFiles();   
      for   (int   i   =   0;   i   <   files.length;   i++)   
      {   
      //System.out.println(   files[i].getName()   );   
      logger.info(   i   +   "=="   +   files[i].getName()   );   
      String   fileName   =   files[i].getName();   
      /*******************************************************************************************************   
        *   if   directory,circulate   
        ******************************************************************************************************/   
      if   (files[i].isDirectory())   
      {   
      StringBuffer   s_subPath   =   new   StringBuffer(   s_path.toString()   );   
      s_subPath.append(   System.getProperty(   "file.separator"   )   );   
      s_subPath.append(   files[i].getName()   );   
      deleteSrcPicture(   s_subPath.toString()   );   
      }   
      else   if   (files[i].isFile())   
      {   
            //处理你需要的逻辑   
      }   
      }   
      catch   (Exception   ex)   
      {   
      logger.info(   ex   );   
      }
      

  3.   

    //file.javapackage com.shlq.sample;import java.io.File;
    import java.io.FileFilter;
    import java.util.Date;public class file {
    public static void main(String[] args) {
    System.out.println("--The Files List--");
    File file = new File("c:\\test\\");
    ;
    File files[] = file.listFiles(new FileFilter() {
    public boolean accept(File pathname) {
    return pathname.isFile();
    }
    });
    for (int i = 0; i < files.length; i++) {
    File temp = files[i];
    System.out.println(temp.getName() + " \t" + temp.length()
    + " \t" + new Date(temp.lastModified()));
    }
    }
    }/*
    the files list
    file_a.doc  10752  Tue Jun 19 11:17:28 CST 2007
    file_b.doc  10752  Tue Jun 19 11:17:28 CST 2007
    file_c.doc  10752  Tue Jun 19 11:17:28 CST 2007
     */
      

  4.   

    //要取得全部文件,当然是包括目录里面的拉。
    import java.io.*;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.Iterator;class Test 
    {
    ArrayList<String> fileList = new ArrayList<String>(100);

    public static void main(String[] args)
    {
    String dir = "c:\\test";
    File file = new File(dir);
    Test test = new Test();
    test.allFile(file);

    Iterator it = test.fileList.iterator();
    while(it.hasNext())
    {
    System.out.println(it.next());
    }
    }

    private void allFile(File file)
    {
    File[] files = file.listFiles();
    for(int i = 1 ; i < files.length ; i ++)
    {
    if(files[i].isFile())
    {
    String filename = files[i].getName();
    String fileLength = String.valueOf(files[i].length());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String fileDate = sdf.format(new Date(files[i].lastModified()));

    fileList.add( filename+ "\t" +  fileLength+ "\t" +fileDate);
    }
    else
    allFile(files[i]);
    }
    }
    }
      

  5.   

    补一个输出结果SQLPRXY.EXE 16461 1998-06-17
    RC.EXE 7440 1998-06-24
    RC.HLP 136161 1998-06-21
    RCDLL.DLL 107792 1998-06-24
      

  6.   

    //folder_file.java
    //如果有文件夹的话用这种方法,遍历出所有文件package com.shlq.sample;import java.io.File;
    import java.util.ArrayList;
    import java.util.Iterator;import java.util.List;public class folder_file{
        private List nameList = new ArrayList();
        public void getSubFile(String parent)
        {
            File parentF = new File(parent);
            if(parentF.isFile())
            {
                nameList.add(parent);
                return;
            }
            String[] subFiles = parentF.list();
            for (int i = 0; i < subFiles.length; i++)
            {
                getSubFile(parentF.getAbsolutePath() + System.getProperty("file.separator") + subFiles[i]);
            }
        }
         public List getNameList()
         {
            return nameList;
          }
         public static void main(String[] args)
        {
            String dirName = "c:/folder_file";
            File srcDir = new File(dirName);
            if(!srcDir.exists())
            {
                System.out.println("Dir not exists!");
                return;
            }
            folder_file x = new folder_file();
            x.getSubFile(dirName);
            for (Iterator iter = x.getNameList().iterator(); iter.hasNext();)
            {
                String element = (String) iter.next();
                System.out.println(element);
            }
        }
    }/*c:\folder_file\file_a.doc
    c:\folder_file\file_b.doc
    c:\folder_file\file_c.doc
    c:\folder_file\folder1\fff\新建 BMP 图像.bmp
    c:\folder_file\folder1\folder1-1.doc
    c:\folder_file\folder2\folder2-1.doc*/
      

  7.   

    楼上这个有错啊!!
    Supernpc(世上不变的唯有变化) ( ) 信誉:100    Blog   加为好友  2007-06-19 11:25:32  得分: 0
      

  8.   

    回复人:eric06s() ( 二级(初级)) 信誉:100  2007-6-19 11:46:55  得分:0
    楼上这个有错啊!!
    Supernpc(世上不变的唯有变化) ( ) 信誉:100 Blog 加为好友 2007-06-19 11:25:32 得分: 0
    ---------------------------------------------------------------
    请问错误在哪个地方?我自己调试运行通过了的.是逻辑错了吗?