| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1229 人关注过本帖
标题:返回文件夹问题
只看楼主 加入收藏
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
结帖率:93.75%
收藏
 问题点数:0 回复次数:11 
返回文件夹问题

/**
* 检查发布目录下是否存在文件夹
* @param folder 需要检查的文件
* @param name 需要检查的文件夹名称
* @Return 返回检查的文件夹
*/
private File A4IsExiste(File folder , String name) {
if (folder.isDirectory()) {
if ((name.equals(folder.getName()))) {
return folder;
} else {
File[] folderList = folder.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
for (File folderItem : folderList) {
return A4IsExiste(folderItem, name);
}
}
}
return null;
}

如果我直接选择需要的文件夹,就没问题,但是如果选择需要文件夹的父目录或父目录的父目录……就找不到。请大家帮忙看看。谢谢

搜索更多相关主题的帖子: folder 文件 name File param 
2007-11-05 11:23
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
朋友们,帮个忙,急。。

飘过~~
2007-11-05 12:38
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 

我改了一下,现在可以了,就是可以查找到比如 D:/ 下任何你想要的文件名。

import java.io.*;

public class FileSelect {

File temp;
boolean isFinish =false;
public void A4IsExiste(File folder , String name) {

//System.out.println("folder path is " + folder.getAbsolutePath());
if (folder.isDirectory()) {
// System.out.println("the folder "+name+" name is "+folder.getName());

if (name.equals(folder.getName()))
{
//System.out.println("return");

this.temp = folder;
}
else
{
File[] folderList = folder.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});

for(File folderItem : folderList) {
//System.out.println(folderList.length);
A4IsExiste(folderItem, name);
}
}
}
}
public static void main(String args[])
{
//new FileSelect().A4IsExiste("D:\\", null);
FileSelect tempFile =new FileSelect();
tempFile.A4IsExiste(new File("E:\\Eclipse project"),"Test2"); //《--这里可以写上查找文件的名字
System.out.println(tempFile.temp.getName() + " At " +tempFile.temp.getAbsolutePath());
}

2007-11-05 14:37
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 
  或者再有其他问题既话可以再发帖来讨论。嘻嘻
2007-11-05 14:38
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
谢谢netstriker
但是你这种写法和我的写法有什么不一样呢?
我这里还是不可以的。

飘过~~
2007-11-05 15:05
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 

private File A4IsExiste(File root,String name){
if(!root.isDirectory()) throw new IllegalArgumentException(\"root must be a directory!\");
if(root.getName().equals(name)) return root;
File[] dirs =root.listFiles(new FileFilter(){
public boolean accept(File file){
return file.isDirectory();
}
});
File result =null;
for(File dir: dirs){
result =A4IsExiste(dir,name);
if(result !=null) break;
}
return result;
}

注意红色的那一句代码.
另外方法名A4IsExiste取的太莫名其妙了.

My BlogClick Me
2007-11-05 18:04
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
加上那句还是这样的
这个和名字没什么关系吧?

飘过~~
2007-11-05 19:46
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
以下是引用bygg在2007-11-5 11:23:14的发言:

/**
* 检查发布目录下是否存在文件夹
* @param folder 需要检查的文件
* @param name 需要检查的文件夹名称
* @Return 返回检查的文件夹
*/
private File A4IsExiste(File folder , String name) {
if (folder.isDirectory()) {
if ((name.equals(folder.getName()))) {
return folder;
} else {
File[] folderList = folder.listFiles(new FileFilter() {
public boolean accept(File pathname) {
return pathname.isDirectory();
}
});
for (File folderItem : folderList) {
return A4IsExiste(folderItem, name);

}
}
}
return null;
}

如果我直接选择需要的文件夹,就没问题,但是如果选择需要文件夹的父目录或父目录的父目录……就找不到。请大家帮忙看看。谢谢

你自己想想,你那个for循环有作用吗?
不理解偶也没办法.


My BlogClick Me
2007-11-05 20:43
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 
那个for 语句的意思是枚举出来那个文件夹下的所以所以子文件夹.我觉得只可以列出这一个文件夹的子文件夹,
就像Eastsun那样说,在 for 语句里return 好像有点问题啊.
2007-11-05 22:16
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
我知道怎么回事了,谢谢大家。呵

飘过~~
2007-11-06 09:45
快速回复:返回文件夹问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021515 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved