首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

百分,怎么获取目录下的所有文件?

2012-01-15 
百分求助,如何获取目录下的所有文件??????????????如何取得c:\test这个目录下的所有文件呢,取得的显示方式

百分求助,如何获取目录下的所有文件??????????????
如何取得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
....

[解决办法]
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()));
}
[解决办法]
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 );
}
[解决办法]
好。
[解决办法]
//file.java

package 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
*/
------解决方案--------------------


//要取得全部文件,当然是包括目录里面的拉。


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]);
}
}
}
[解决办法]
补一个输出结果

SQLPRXY.EXE164611998-06-17
RC.EXE74401998-06-24
RC.HLP1361611998-06-21
RCDLL.DLL1077921998-06-24
[解决办法]
//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

*/
[解决办法]
我靠
还真是有热心的人呀

[解决办法]
楼上这个有错啊!!
Supernpc(世上不变的唯有变化) ( ) 信誉:100 Blog 加为好友 2007-06-19 11:25:32 得分: 0
[解决办法]
干脆把作业全给人家做了


把项目也给他做了
哈哈

这哪里是问问题,简直是分配任务
[解决办法]
回复人:eric06s() ( 二级(初级)) 信誉:100 2007-6-19 11:46:55 得分:0


楼上这个有错啊!!
Supernpc(世上不变的唯有变化) ( ) 信誉:100 Blog 加为好友 2007-06-19 11:25:32 得分: 0
---------------------------
请问错误在哪个地方?我自己调试运行通过了的.是逻辑错了吗?
[解决办法]
~~~~~~~~~~~
[解决办法]
我运行时候少了个2级的目录

热点排行
Bad Request.