java算法 急求!!

残风11111111 2011-02-23 04:15:06
现在是有 如下结构
目录A
| |-文件n
|-文件1 |-目录1----|-文件n
|-目录1--|-文件2 |-目录n
|-文件2 |_文件1
|-目录2
|-文件n
|-目录n

反正就是树的那种结构 我要修改目录A 下面的 所有的文件 包括子目录下的文件
求算法
...全文
146 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
enyes_fang 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 qq663695753 的回复:]
引用 12 楼 fangchao2061 的回复:

引用 11 楼 qq663695753 的回复:
我参考下你空间里面的吧

我知道你是修改文件内容,可你一直都没有说怎么修改?
你可以创建一个文件的输出流 ,再向文件中写内容,主要是看你怎么修改了


我发现一个文件 你那个递归删除 只能一层层深入吧
-- 层次结构
.. 占位符

1..|-5
2--|-……
[/Quote]
是一层层深入调用。
删除2目录下所有文件后删除2文件夹,然后再删除3目录下所有文件后,删除3文件夹,以此类推
我测试过这个类,没有问题
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fangchao2061 的回复:]

引用 11 楼 qq663695753 的回复:
我参考下你空间里面的吧

我知道你是修改文件内容,可你一直都没有说怎么修改?
你可以创建一个文件的输出流 ,再向文件中写内容,主要是看你怎么修改了
[/Quote]

我发现一个文件 你那个递归删除 只能一层层深入吧
-- 层次结构
.. 占位符

1..|-5
2--|-4--6
3..|-6

你那个递归读到 2 之后 就深入 到4 那个3这个文件呢
zhuming12345 2011-02-23
  • 打赏
  • 举报
回复
给你一段源代码:File file=new File("F:/aa");
File[] files=file.listFiles();

for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
ListFile.listFile(files[i]);
}
else{
System.out.println("文件名:"+files[i].getName());
}
}

}
public static void listFile(File ff){
if(ff.isDirectory()){
File[] files=ff.listFiles();
for(int i=0;i<files.length;i++){
if(files[i].isDirectory()){
ListFile.listFile(files[i]);
}else{
System.out.println("文件名:"+files[i].getName());
}

}
}
aotian16 2011-02-23
  • 打赏
  • 举报
回复
递归删除文件的,你参考下
public class Test {
public static void main(String[] args) {
File directory = new File("D:/20110223");

deleteAllFile(directory);
}

/**
* delete all file from directory.
*
* @param directory
* @return result
*/
public static boolean deleteAllFile(File directory) {
if (directory.isFile()) {
System.out.println("please input directory!");
return false;
}

File[] files = directory.listFiles();

for (File file : files) {
if (file.isFile()) {
file.delete();
} else {
deleteAllFile(file);
}
}

return true;
}
}
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fangchao2061 的回复:]

引用 11 楼 qq663695753 的回复:
我参考下你空间里面的吧

我知道你是修改文件内容,可你一直都没有说怎么修改?
你可以创建一个文件的输出流 ,再向文件中写内容,主要是看你怎么修改了
[/Quote]

我是要 替换文件中 特殊定义 #{aa} 这种标记 替换好了在 完成
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
我的这个是 ftp 目录 不是本地文件 所以读取比较麻烦点
ybcwjj 2011-02-23
  • 打赏
  • 举报
回复
递归读目录文件,然后一个个改文件呗,就这么简单
enyes_fang 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qq663695753 的回复:]
我参考下你空间里面的吧
[/Quote]
我知道你是修改文件内容,可你一直都没有说怎么修改?
你可以创建一个文件的输出流 ,再向文件中写内容,主要是看你怎么修改了
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
我参考下你空间里面的吧
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fangchao2061 的回复:]

我空间里只有一遍文章,是关于递归删除指定目录下所有文件包括文件夹,你可以参考一下,我不明白你说的修改目录下的所有文件是怎么个修改
[/Quote]

我说的修改是修改文件内容 每个文件我都要修改下
eXeSP 2011-02-23
  • 打赏
  • 举报
回复
去查查IO下面的file api,里面有检测文件夹文件的方法
大概就是
while(check documents) {
dosomething...
}
enyes_fang 2011-02-23
  • 打赏
  • 举报
回复
我空间里只有一遍文章,是关于递归删除指定目录下所有文件包括文件夹,你可以参考一下,我不明白你说的修改目录下的所有文件是怎么个修改
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
求解能不能给个列子咯
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
100的阶乘 我以前写过 啊 那个比较简单呢 这个好像比较复杂
qkniit 2011-02-23
  • 打赏
  • 举报
回复
楼主你先编个程序 100的阶乘
enyes_fang 2011-02-23
  • 打赏
  • 举报
回复
怎么修改?
残风11111111 2011-02-23
  • 打赏
  • 举报
回复
恩 就是不明白 求解
qkniit 2011-02-23
  • 打赏
  • 举报
回复
会递归 就会这个
qkniit 2011-02-23
  • 打赏
  • 举报
回复
递归 没学好吧

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧