import java.io.*; public class FlodFind { public static void main(String[] args) { File f = new File("c:/aa"); String[] list = new String[10] ; int cnt = 0; list = f.list(); cnt = list.length; for (int i=0;i<cnt;i++) { System.out.println(list[i]); } } } 这个方法的不好处是如果aa文件夹下有文件,他也会检索出来 同时,我设置的最大数是10;如果文件夹和文件多,要修改。。
File file = new File("D:/aa"); if (file.isDirectory()) { File[] files = file.listFiles(new FileFilter(){ public boolean accept(File pathname) { if (pathname.isDirectory()) { return true; } return false; } });
for(File f : files) { System.out.println(f.getName()); } }
import java.util.ArrayList;
public class FileManager {
ArrayList<String> arrayList = new ArrayList<String>();
public void readDirectory(String filePath){
File file = new File(filePath);
if(file.isDirectory()){
arrayList.add(filePath);
File[] fileList = file.listFiles();
for(int i = 0;i<fileList.length; i++){
File childFile = new File(fileList[i].getAbsolutePath());
if(childFile.isDirectory()){
readDirectory(childFile.getAbsolutePath());
}
}
}
}
public static void main(String[] args) {
String str = "c:\\aa";
FileManager fileManager = new FileManager();
fileManager.readDirectory(str);
ArrayList<String> arrayList = fileManager.arrayList;
for(int i = 0; i< arrayList.size(); i++){
System.out.println(arrayList.get(i));
}
}}
可以将一个文件夹下的所有
文件夹,文件
都可以读取!
以下是操作目录的例子:
/**
* <p>Title: 目录操作</p>
* <p>Description: 演示列目录下的文件,和移动一个目录</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: Dir.java</p>
* @author 杜江
* @version 1.0
*/
import java.io.*;
public class Dir{
/**
*<br>方法说明:实现目录列表
*<br>输入参数:
*<br>返回类型:
*/
public String[] DirList(String pathName){
try{
File path = null;
String[] fileList;
//如果没有指定目录,则列出当前目录。
if(pathName.equals(""))
path = new File(".");
else
path = new File(pathName);
//获取目录文件列表
if(path.isDirectory())
fileList = path.list();
else
return null;
return fileList;
}catch(Exception e){
System.err.println(e);
return null;
}
}
/**
*<br>方法说明:移动一个目录
*<br>输入参数:String sou 源目录, String obj 新目录
*<br>返回类型:
*/
public boolean DirMove(String sou, String obj){
try{
//检查源文件是否存在
boolean sexists = (new File(sou)).isDirectory();
if(!sexists) return false;
boolean oexists = (new File(obj)).isDirectory();
//目标目录不存在,建立一个
if(!oexists){
(new File(obj)).mkdirs();
}
File file = new File(sou);
File dir = new File(obj);
//移动目录
boolean success = file.renameTo(new File(dir, file.getName()));
if (!success) {
System.out.println("copy error!");
return false;
}
else return true;
}catch(Exception e){
System.out.println(e);
return false;
}
}/**
*<br>方法说明:主方法
*<br>输入参数:
*<br>返回类型:
*/
public static void main(String[] args){
Dir d = new Dir();
if(args.length==0){
return;
}else{
String cmd = args[0];
if(cmd.equals("list")){
if(args.length!=2) return;
String[] sTemp = d.DirList(args[1]);
for(int i=0;i<sTemp.length;i++)
System.out.println(sTemp[i]);
}else if(cmd.equals("move")){
if(args.length!=3) return;
d.DirMove(args[1],args[2]);
}
}
}
}
import java.util.ArrayList;public class FileManager
{ ArrayList<String> arrayList = new ArrayList<String>(); public void readDirectory(String filePath)
{
File file = new File(filePath);
if (file.isDirectory())
{
arrayList.add(filePath);
File[] fileList = file.listFiles();
for (int i = 0; i < fileList.length; i++)
{
File childFile = new File(fileList[i].getAbsolutePath());
if (childFile.isDirectory())
{
readDirectory(childFile.getAbsolutePath());
}
}
} } public static void main(String[] args)
{
String str = "C:\\Java\\jdk1.5.0_06";
FileManager fileManager = new FileManager();
fileManager.readDirectory(str);
ArrayList<String> arrayList = fileManager.arrayList;
for (int i = 0; i < arrayList.size(); i++)
{
System.out.println(arrayList.get(i));
}
}}二楼的,写得不错,赞!
C:\Java\jdk1.5.0_06
C:\Java\jdk1.5.0_06\bin
C:\Java\jdk1.5.0_06\demo
C:\Java\jdk1.5.0_06\demo\applets
C:\Java\jdk1.5.0_06\demo\applets\Animator
C:\Java\jdk1.5.0_06\demo\applets\Animator\audio
C:\Java\jdk1.5.0_06\demo\applets\Animator\images
C:\Java\jdk1.5.0_06\demo\applets\Animator\images\Beans
C:\Java\jdk1.5.0_06\demo\applets\Animator\images\SimpleAnimation
C:\Java\jdk1.5.0_06\demo\applets\ArcTest
C:\Java\jdk1.5.0_06\demo\applets\BarChart
C:\Java\jdk1.5.0_06\demo\applets\Blink
C:\Java\jdk1.5.0_06\demo\applets\CardTest
C:\Java\jdk1.5.0_06\demo\applets\Clock
C:\Java\jdk1.5.0_06\demo\applets\DitherTest
C:\Java\jdk1.5.0_06\demo\applets\DrawTest
C:\Java\jdk1.5.0_06\demo\applets\Fractal
C:\Java\jdk1.5.0_06\demo\applets\GraphicsTest
C:\Java\jdk1.5.0_06\demo\applets\GraphLayout
C:\Java\jdk1.5.0_06\demo\applets\GraphLayout\audio
C:\Java\jdk1.5.0_06\demo\applets\ImageMap
C:\Java\jdk1.5.0_06\demo\applets\ImageMap\audio
C:\Java\jdk1.5.0_06\demo\applets\ImageMap\images
C:\Java\jdk1.5.0_06\demo\applets\JumpingBox
C:\Java\jdk1.5.0_06\demo\applets\JumpingBox\sounds
C:\Java\jdk1.5.0_06\demo\applets\MoleculeViewer
C:\Java\jdk1.5.0_06\demo\applets\MoleculeViewer\models
C:\Java\jdk1.5.0_06\demo\applets\NervousText
C:\Java\jdk1.5.0_06\demo\applets\SimpleGraph
C:\Java\jdk1.5.0_06\demo\applets\SortDemo
C:\Java\jdk1.5.0_06\demo\applets\SpreadSheet
C:\Java\jdk1.5.0_06\demo\applets\TicTacToe
C:\Java\jdk1.5.0_06\demo\applets\TicTacToe\audio
C:\Java\jdk1.5.0_06\demo\applets\TicTacToe\images
C:\Java\jdk1.5.0_06\demo\applets\WireFrame
C:\Java\jdk1.5.0_06\demo\applets\WireFrame\models
C:\Java\jdk1.5.0_06\demo\jfc
C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM
C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM\src
C:\Java\jdk1.5.0_06\demo\jfc\CodePointIM\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo
C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\images
C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src
C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\FileChooserDemo\src\resources\images
C:\Java\jdk1.5.0_06\demo\jfc\Font2DTest
C:\Java\jdk1.5.0_06\demo\jfc\Font2DTest\src
C:\Java\jdk1.5.0_06\demo\jfc\Java2D
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\fonts
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\images
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Arcs_Curves
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Clipping
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Colors
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Composite
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Fonts
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Images
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Lines
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Mix
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Paint
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Paths
C:\Java\jdk1.5.0_06\demo\jfc\Java2D\src\java2d\demos\Transforms
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\HelpFiles
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\images
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\resources
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\Metalworks\src\resources\HelpFiles
C:\Java\jdk1.5.0_06\demo\jfc\Notepad
C:\Java\jdk1.5.0_06\demo\jfc\Notepad\resources
C:\Java\jdk1.5.0_06\demo\jfc\Notepad\src
C:\Java\jdk1.5.0_06\demo\jfc\Notepad\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\SampleTree
C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\images
C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src
C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\SampleTree\src\resources\images
C:\Java\jdk1.5.0_06\demo\jfc\Stylepad
C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\resources
C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\src
C:\Java\jdk1.5.0_06\demo\jfc\Stylepad\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\SwingApplet
C:\Java\jdk1.5.0_06\demo\jfc\SwingApplet\src
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\buttons
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\combobox
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\filechooser
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\htmldemo
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub\food
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\ImageClub\misc
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\list
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\Octavo
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\optionpane
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\scrollpane
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\splitpane
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\tabbedpane
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\toolbar
C:\Java\jdk1.5.0_06\demo\jfc\SwingSet2\src\resources\images\tooltip
C:\Java\jdk1.5.0_06\demo\jfc\TableExample
C:\Java\jdk1.5.0_06\demo\jfc\TableExample\src
C:\Java\jdk1.5.0_06\demo\jpda
C:\Java\jdk1.5.0_06\demo\jvmti
C:\Java\jdk1.5.0_06\demo\jvmti\agent_util
C:\Java\jdk1.5.0_06\demo\jvmti\agent_util\src
C:\Java\jdk1.5.0_06\demo\jvmti\gctest
C:\Java\jdk1.5.0_06\demo\jvmti\gctest\lib
C:\Java\jdk1.5.0_06\demo\jvmti\gctest\src
C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker
C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker\lib
C:\Java\jdk1.5.0_06\demo\jvmti\heapTracker\src
C:\Java\jdk1.5.0_06\demo\jvmti\heapViewer
C:\Java\jdk1.5.0_06\include
C:\Java\jdk1.5.0_06\include\win32
C:\Java\jdk1.5.0_06\jre
C:\Java\jdk1.5.0_06\jre\bin
C:\Java\jdk1.5.0_06\jre\bin\client
C:\Java\jdk1.5.0_06\jre\bin\server
C:\Java\jdk1.5.0_06\jre\lib
C:\Java\jdk1.5.0_06\jre\lib\applet
C:\Java\jdk1.5.0_06\jre\lib\audio
C:\Java\jdk1.5.0_06\jre\lib\cmm
C:\Java\jdk1.5.0_06\jre\lib\ext
C:\Java\jdk1.5.0_06\jre\lib\fonts
C:\Java\jdk1.5.0_06\jre\lib\i386
C:\Java\jdk1.5.0_06\jre\lib\im
C:\Java\jdk1.5.0_06\jre\lib\images
C:\Java\jdk1.5.0_06\jre\lib\images\cursors
C:\Java\jdk1.5.0_06\jre\lib\javaws
C:\Java\jdk1.5.0_06\jre\lib\management
C:\Java\jdk1.5.0_06\jre\lib\security
C:\Java\jdk1.5.0_06\jre\lib\zi
C:\Java\jdk1.5.0_06\jre\lib\zi\Africa
C:\Java\jdk1.5.0_06\jre\lib\zi\America
C:\Java\jdk1.5.0_06\jre\lib\zi\America\Argentina
C:\Java\jdk1.5.0_06\jre\lib\zi\America\Indiana
C:\Java\jdk1.5.0_06\jre\lib\zi\America\Kentucky
C:\Java\jdk1.5.0_06\jre\lib\zi\America\North_Dakota
C:\Java\jdk1.5.0_06\jre\lib\zi\Antarctica
C:\Java\jdk1.5.0_06\jre\lib\zi\Asia
C:\Java\jdk1.5.0_06\jre\lib\zi\Atlantic
C:\Java\jdk1.5.0_06\jre\lib\zi\Australia
C:\Java\jdk1.5.0_06\jre\lib\zi\Etc
C:\Java\jdk1.5.0_06\jre\lib\zi\Europe
C:\Java\jdk1.5.0_06\jre\lib\zi\Indian
C:\Java\jdk1.5.0_06\jre\lib\zi\Pacific
C:\Java\jdk1.5.0_06\lib
C:\Java\jdk1.5.0_06\sample
C:\Java\jdk1.5.0_06\sample\jnlp
C:\Java\jdk1.5.0_06\sample\jnlp\corba
C:\Java\jdk1.5.0_06\sample\jnlp\corba\src
C:\Java\jdk1.5.0_06\sample\jnlp\corba\src\core
C:\Java\jdk1.5.0_06\sample\jnlp\corba\src\stubs
C:\Java\jdk1.5.0_06\sample\jnlp\corba\war
C:\Java\jdk1.5.0_06\sample\jnlp\corba\war\app
C:\Java\jdk1.5.0_06\sample\jnlp\corba\war\WEB-INF
C:\Java\jdk1.5.0_06\sample\jnlp\jreinstaller
..............................
太长了省略了
import java.io.*;
public class FlodFind { public static void main(String[] args) {
File f = new File("c:/aa");
String[] list = new String[10] ;
int cnt = 0;
list = f.list();
cnt = list.length;
for (int i=0;i<cnt;i++) {
System.out.println(list[i]);
}
}
} 这个方法的不好处是如果aa文件夹下有文件,他也会检索出来
同时,我设置的最大数是10;如果文件夹和文件多,要修改。。
if (file.isDirectory()) {
File[] files = file.listFiles(new FileFilter(){
public boolean accept(File pathname) {
if (pathname.isDirectory()) {
return true;
}
return false;
}
});
for(File f : files) {
System.out.println(f.getName());
}
}