| |
| 用java读取各种计算机文件系统的文件列表 |
| |
发布者: 发布时间:2007-11-26 |
|
|
|
用java读取各种计算机文件系统的文件列表作者:jackliuemail:suntoday@eyou.com当你安装了jdk,在jdk的类库里,有一个标准的File类,通过该类,可以很方便的实现浏览各种文件系统的功能。File类:java.lang.Object|+--java.io.FileFile类扩展了Object对象,实现了Serializable, Comparable定义的接口,可以通过File的一个实例对jvm上的文件系统进行各种操作,下面我编写了一个FileViewer类,该类通过Iterator类将一个文件列表实现对列表的迭代操作FileViewer.javaimport java.io.File;import java.util.Date;import java.util.Iterator;import java.util.Vector;public class FileViewer{File myDir;File[] contents;Vector vectorList;Iterator currentFileView;File currentFile;String path;public FileViewer(){path=new String("");vectorList=new Vector();}public FileViewer(String path){this.path=path;vectorList=new Vector();}/*** 设置浏览的路径*/public void setPath(String path){this.path=path;}/**** 返回当前目录路径*/public String getDirectory(){return myDir.getPath();}/*** 刷新列表*/public void refreshList(){if(this.path.equals("")) path="c:\\";myDir=new File(path);vectorList.clear();contents =myDir.listFiles();//重新装入路径下文件for(int i=0;ivectorList.add(contents[i]);}currentFileView=vectorList.iterator();}/*** 移动当前文件集合的指针指到下一个条目* @return 成功返回true,否则false*/public boolean nextFile(){while(currentFileView.hasNext()){currentFile=(File)currentFileView.next();return true;}return false;}/*** 返回当前指向的文件对象的文件名称*/public String getFileName(){return currentFile.getName();}/*** 返回当前指向的文件对象的文件尺寸*/public String getFileSize(){return new Long(currentFile.length()).toString();}/*** 返回当前指向的文件对象的最后修改日期*/public String getFileTimeStamp(){return new Date(currentFile.lastModified()).toString();}/*** 返回当前指向的文件对象是否是一个文件目录*/public boolean getFileType(){return currentFile.isDirectory();}}通过setPath()方法设定要浏览的目录(注意如果操作系统为微软操作系统,每个路径分隔符应写成两个斜杠\\),nextFile()方法用来移动列表记录,可以通过getFileName()得到文件或文件夹名称,通过getFileSize()得到文件尺寸,通过getFileTimeStamp()得到文件的最后修改时间,通过getFileType()判断是否是一个文件目录。编写一个test例子测试这个FileViewer类test.javaimport java.io.*;public class test{public static void main(String[] args){System.out.println("File List");FileViewer f=new FileViewer();f.setPath("d:\\");f.refreshList();while(f.nextFile()){System.out.print(f.getFileName());if(!f.getFileType())System.out.print(" "+f.getFileSize());elseSystem.out.print(" ");System.out.print(f.getFileTimeStamp()+"\n");}}}首先编译FileViewer.java文件,生成FileViewer.class类;再编译test.java运行后,可以显示当前目录下的所有文档.唯一不足就是:不能对当前路径下的文件夹的内容进行显示.
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 关于applet写入文件的处理 |
| Java语言实用技巧:常用VI高级命令集锦 |
| Java程序的加密和反加密 |
| WebSphere Studio 5.0发布 |
| Linux 是Java、XML和CORBA的最佳协同搭建平台 |
| Windows XP准备恢复加载Java 但还须等待 |
| |
| 最近评论: |
|
|
| 鍥炲 |
|
|
|
| 那个雨天的想法! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(9523) |
|
|
| 如果真的有来生! |
| 四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游,
max(7919) |
|
|
| 如果真的有来生! |
| 四川旅游,九寨沟旅游,稻城亚丁旅游,四姑娘山旅游,海螺沟旅游,西藏旅游,
max(3399) |
|
|
| 左边的风景! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(108) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold, max(8811) |
|
|
| 轻轻走过你的窗前! |
| world of warcraft gold,cheap world of warcraft gold,warcraft gold,world of warcraft gold,cheap world of warcraft gold,warcraft gold max(7493) |
|
|
| 快乐情人节! |
| wow gold,wow gold,wow gold,wow gold,wow gold,wow gold,wow gold buy wow gold for cheap.
max(2768) |
|
|
| 昨夜的狂想曲! |
| wow gold,WoW Gold,world of warcraft gold,WoW Gold, max(5471) |
|
|
| 没有情人的情人节! |
| wow gold,wow power leveling.wow power leveling,wow power leveling,
max(538) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|