本帖最后由 杜桂发 于 2012-4-2 02:28 编辑
package cn.mysoft.test;
import java.io.File;
public class Test {
public static void main(String[] args) {
String path ="E:\\back\\MyDrivers ";
File file = new File(path);
if(file.isFile()){
System.out.println("这是文件!");
}else if(file.isDirectory()){
System.out.println("这是目录!");
File [] files = file.listFiles();
System.out.println("length="+files.length);
for(File f : files){
if(f.isFile()){
System.out.println("又是文件");
}else if(f.isDirectory()){
System.out.println("又是目录");
}else{
System.out.println("你是什么啊?"+f.getPath());
}}}}}
程序不走isFile(),也不走isDirectory(),只走else,已确保传入的File[] files是有效的.大家知道是什么原因吗?求助ing.........
输出的结果:
这是目录!
length=6
你是什么啊?E:\back\MyDrivers \backup
你是什么啊?E:\back\MyDrivers \desktop.ini
你是什么啊?E:\back\MyDrivers \hotfix
你是什么啊?E:\back\MyDrivers \icon.ico
你是什么啊?E:\back\MyDrivers \software
你是什么啊?E:\back\MyDrivers \update
真是超级郁闷!!!程序走了else的语句,但在这个语句里又可以使用File类的各种方法.
问题解决了,伤不起,弄了三小时,原来路径最后面多了一个空格!!!!!!!! |