最近在看毕老师的视频,看了一些视频之后突发奇想,为什么不自己编一个程序呢。于是我就下定决心写了一个基于Android的手机音乐播放器。在编写过程中遇到了N多问题,尝试了N多方法,积攒了N多经验,所以写笔记记下心得来。下面就是我在编写过程中遇到的一个问题:如如何判断一个路径是文件还是目录?
由于在加载程序的时候需要搜索SDcard中的文件,这就需要判断搜多到的是文件还是路径。刚开始的时候一点头绪都没有,后来查资料查了半天终于解决了。代码如下:
import java.io.File;
/**
class ListDirectory {
/** *//** 存储要搜索的目录名称. */
String directoryName;
/** *//** 声明一个 File 对象. */
File fileObj;
/** *//**
* 构造方法.
* @param name 是一个字符串
*/
ListDirectory(Stringname) {
directoryName = name;
fileObj = new File(name);
}
/** *//**
* 显示目录和子目录的方法.
*/
void display() {
if(fileObj.isDirectory()) {
System.out.println("目录是 : " + directoryName);
String[] fileName = fileObj.list();
for (int ctr = 0; ctr <fileName.length; ctr++) {
File nextFileObj = newFile(directoryName + "/" + fileName[ctr]);
if(nextFileObj.isDirectory()) {
System.out.println(fileName[ctr] +" 是一个目录");
} else{
System.out.println(fileName[ctr] +" 是一个文件");
}
}
} else{
System.out.println(directoryName +" 不是一个有效目录");
}
}
}
/** *//**
* 本程序测试 ListDirectory 类.
* @version 1.0 2005 年 5 月 20 日
* @author Michael
*/
class DirectoryTest {
/** *//**
* 构造方法.
*/
protected DirectoryTest() {
}
/** *//**
* 这是一个 main 方法.
* @param args 被传递至 main 方法
*/
publicstaticvoid main(String[] args) {
ListDirectory listObj = new ListDirectory("java");
listObj.display();
}
}
通过上面这段程序可以判断出是文件还是路径,特此记录!