package cn.itcast.io.p1.file.test;
import java.io.File;
/*
* 需求:对指定目录进行所有内容的列出(包含子目录中的内容)
* 也可以理解为 深度遍历。
*
*
*/
public class FileTest {
/**
* @param args
*/
public static void main(String[] args) {
File dir = new File("e:\\demodir");
listAll(dir,0);
}
public static void listAll(File dir,int level) {
System.out.println(getSpace(level)+dir.getName());
//获取指定目录下当前的所有文件夹或者文件对象
//
level++;
//取出当前所有的文件及文件夹,放到文件数组中,仅仅是当期那,不做深度遍历
File[] files = dir.listFiles();
// for(File file : files){
// System.out.println("*****files****:" + file);
// }
for(int x=0; x<files.length; x++){
//如果当前有目录存在,递归进行查询列表功能,按顺序对已有目录进行深度遍历
if(files[x].isDirectory()){
listAll(files[x],level);
//递归到底后,逐层跳出,使用上一层的数据,继续往下面的语句执行
}
else{
System.out.println(getSpace(level)+files[x].getName());
}
}
}
private static String getSpace(int level) {
StringBuilder sb = new StringBuilder();
sb.append("|--");
for(int x=0; x<level; x++){
sb.insert(0,"| ");
}
return sb.toString();
}
}
package cn.itcast.io.p1.file.test;
import java.io.File;
/*
* 删除一个带内容的目录。
*
* 原理:必须从最里面往外删。
* 需要进行深度遍历。
*
*
*
*/
public class RemoveDirTest {
/**
* @param args
*/
public static void main(String[] args) {
File dir = new File("e:\\demodir");
// dir.delete();
removeDir(dir);
}
//遍历目录,删除文件,删除目录
public static void removeDir(File dir) {
//取出当前目录的文件及文件夹
File[] files = dir.listFiles();
for(File file : files){
//如果文件夹存在,则继续遍历文件夹
if(file.isDirectory()){
removeDir(file);
}else{
//不存在,则删除当前文件
//如果此路径名表示一个目录,则该目录必须为空才能删除。
System.out.println(file+":"+file.delete());
}
}
//删除当前目录
System.out.println(dir+":"+dir.delete());
}
}
package cn.itcast.io.p1.digui;
public class DiGuiDemo {
/**
* @param args
*/
public static void main(String[] args) {
/*
* 递归:
* 函数自身直接或者间接的调用到了自身。
*
* 一个功能在被重复使用,并每次使用时,参与运算的结果和上一次调用有关。
* 这时可以用递归来解决问题。
*
*
* 注意:
* 1,递归一定明确条件。否则容易栈溢出。
* 2,注意一下递归的次数。
*
*/
// show();
// toBin(6);
int sum = getSum(9000);
System.out.println(sum);
}
public static int getSum(int num){
int x = 9;
if(num==1)
return 1;
return num+getSum(num-1);
}
public static void toBin(int num){
if(num>0){
toBin(num/2);
System.out.println(num%2);
}
}
/*
public static void show(){
method();
}
public static void method(){
show();
}
*/
}
分享到:
相关推荐
遍历递归的先中後序, 非递归的先中後序, 计算出深度 结点数 /* 运行结果: ------------------------ 请先序输入二叉树(如:ab三个空格表示a为根节点,b为左子树的二叉树) ab c 先序递归遍历二叉树: a b c 先序...
递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: 非递归中序遍历二叉树(算法2): 层次遍历二叉树: 递归计算单...
#递归遍历/root目录下所有文件 gci('/root') 方式二: #!/usr/bin/python # -*- coding: utf-8 -*- import os for fpathe,dirs,fs in os.walk('/root'): for f in fs: print(os.path.join(fpathe,f))
深度优先搜索遍历类似于树的先序遍历。假定给定图G的初态是所有顶点均未被访问过,在G中任选一个顶点i作为遍历的初始 点,则深度优先搜索递归调用包含以下操作: (1)访问搜索到的未被访问的邻接点; (2)将此...
一个简单的文件/目录遍历模块 安装 npm install file-walker 回调参数 files - 当前目录中的文件/目录数组,例如['dummy', 'test.js'] dir - 目录名,例如'./test' level - 当前目录级别从0开始 示例用法 假设...
这是数据结构中二叉树的后序遍历的非递归算法的源代码。
获取文件夹大小通过遍历文件夹的子文件和-folder来获取文件夹的大小。 :warning: 此软件包的版本3完全重新设计了API,以使用对版本14的ES6 Promise和最低节点支持。如果需要使用旧的回调语法,或者需要支持旧版本的...
递归-uglifyjs 递归遍历目录,并丑化该目录及其子目录中包含的所有JavaScript文件。 安装 npm install -g recursive-uglifyjs 用法 recursive-uglifyjs ./a/directory/containing/js/files
hapi-plugins-dir描述递归遍历目录并准备好Hapi插件数组,以提供Hapi的函数。概要插件与文件位于同一目录中 const getHapiPlugins = require ( "hapi-plugins-dir" ) ;const plugins = getHapiPlugins ( ) ;await ...
/*选择二叉链式存储结构作为二叉树的存储结构,设计一个程序实现二叉树的基本操作(包括建立、输出、前序遍历、中序遍历、后序遍历、求树高、统计叶子总数等) 【实验内容】 必做内容 程序的菜单功能项如下: 1----...
计算机软件-商业源码-实例75 递归法遍历磁盘目录.zip
scp:安全地从本地系统向远程系统传输文件: -P:指定端口 -i:指定密钥文件 -r:递归复制整个目录 rsync:快速复制大量数据 -a:完全保留原来的文件系统属性 -v:显示详细信息 -z:压缩文件传输 -h:人性化输出...
易语言遍历目录文件源码,遍历目录文件,遍历文件夹,遍历文件
递归遍历给定的目录结构,并使用约定创建Web路由对象列表,这些对象将Express样式的URL路径映射到JavaScript回调文件。 安装 npm i @small-tech/web-routes-from-files 用法 const getRoutes = require ( 'web-...
递归实现遍历目录下子所有目录内所有文件
rm :删除文件或目录 -r :删除目录 -f :强制 mv :移动或改名 which :查找外部命令路径 按照PATH变量指定路径 find :查找文件或目录 格式: find 查找路径范围 查找方式 查找内容 查找方式分类: -...
用c# 递归方法,遍历目录,输入一个路径,能输出此路径下的全部文件和文件夹里的内容
递归遍历文件系统,搜索文件和目录,异步或同步,同时选择性过滤。 walker 将始终以实例响应,使用 lstat 检索并用额外的属性装饰: 目录 名称 全名(这是目录和名称的串联) #Installation 使用 npm 安装: ...
1.语法: ls [选项] [文件目录列表] 2.用途:显示指定工作目录中所包含的内容。 3.说明: 要说明的是ls命令列出文件的名字,而不是文件的内容 4.参数: -a:显示所有文件及目录(ls规定将文件名或目录名中开头为...
从命令行删除文件和目录。 安装 git clone https://github.com/sarthakgaur/del-files node main.mjs 命令行参数 -d :指定要搜索的目录。如果未指定目录,则使用home目录。 -e :指定要从搜索中排除的目录。 -y ...