精华内容
下载资源
问答
  • mr编程递归显示hdfs目录下所有文件

    千次阅读 2016-10-26 19:32:50
    递归算法解决汉诺塔、阶乘等问题都很经典,一般我们查询系统中目录下所有文件也会用到递归的思想。 下面我们用java代码来实现打印本地指定路径下的所有文件: /** * 递归打印本地目录 * @param file */ ...

    递归: 程序调用自身的编程技巧称为递归。

    用递归算法解决汉诺塔、阶乘等问题都很经典,一般我们查询系统中目录下的所有文件也会用到递归的思想。

    • 下面我们用java代码来实现打印本地指定路径下的所有文件:
    /**
     * 递归打印本地目录
     * @param file
     */
    public static void printLocal(File file) {
    
        if (file.isDirectory()) {
    
            File[] files = file.listFiles();
    
            if (files != null) {
    
                for (int i = 0; i < files.length; i++) {
    
                    //递归调用
                    print(files[i]);
                }
            }
    
            System.out.println(file);
        }
    }

    按照上面的思想,那打印hdfs下指定路径的所有文件名字岂不是一样?所以我们可以用以下代码来实现。

    • 打印hdfs指定路径下的所有文件:
    package com.lijie.recursion;
    
    import java.net.URI;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileStatus;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.FileUtil;
    import org.apache.hadoop.fs.Path;
    
    /**
     * 
     * @author lijie
     *
     */
    public class RecurSionTest {
        public static void main(String[] args) throws Exception {
    
            //调用递归打印目录的方法
            printDir("/");
    
        }
    
        /**
         * 递归打印目录
         * @param dir
         * @throws Exception
         */
        public static void printDir(String dir) throws Exception {
    
            FileSystem fs = getFileSystem();
    
            FileStatus[] globStatus = fs.listStatus(new Path(dir));
    
            Path[] stat2Paths = FileUtil.stat2Paths(globStatus);
    
            for (int i = 0; i < stat2Paths.length; i++) {
    
                System.out.println(stat2Paths[i].toString());
    
                //判断是否为文件夹
                if (fs.isDirectory(stat2Paths[i])) {
    
                    //递归调用
                    printDir(stat2Paths[i].toString());
                }
            }
        }
    
        /**
         * 获取FileSystem
         * @param dir
         * @return
         * @throws Exception
         */
        public static FileSystem getFileSystem() throws Exception {
    
            Configuration conf = new Configuration();
    
            URI uri = new URI("hdfs://lijie:9000");
    
            FileSystem fs = FileSystem.get(uri, conf);
    
            return fs;
        }
    }
    

    结果如下:
    这里写图片描述

    展开全文
  • 列出指定目录下所有内容,因为目录下还有目录,而我们只要使用同一...下面是显示出某个文件目录下所有文件名的Demo code: package javase.day18; import java.io.File; import java.math.BigInteger; public cla

    列出指定目录下所有内容,因为目录下还有目录,而我们只要使用同一个列出目录功能的函数完成即可。也就是函数自身调用自身。

    这种表现形式或者编程手法,我们称之为递归。

    下面是显示出某个文件目录下所有文件名的Demo code:

    package javase.day18;
    
    import java.io.File;
    import java.math.BigInteger;
    
    public class FileDemo3 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		File file = new File("G:\\黑马程序员");
    		showDir(file);
    	}
    	
    	public static void showDir(File file){
    		File[] files=file.listFiles();
    		for(int i=0 ; i<files.length;i++){
    			if(files[i].isDirectory()){
    				showDir(files[i]);
    			}else{
    				System.out.println(files[i]);
    			}
    		}
    	}
    
    }


    如需删除某个目录下的所有文件,则Demo code 为:

    public static void removeDir(File dir){
    		File[] files=dir.listFiles();
    		for(int i=0 ; i<files.length;i++){
    			if(files[i].isDirectory()){
    				removeDir(files[i]);
    			}else{
    				files[i].delete();
    			}
    		}
    	}

    展开全文
  • 递归枚举目录下所有文件显示大小KB/MB/GB自动换算 function FormatByteSize(const bytes: Int64): string; const B = 1; //byte KB = 1024 * B; //kilobyte MB = 1024 * KB; //megabyte GB = 1024 * MB; //...
  • 也就是列出指定目录下所有内容。 因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。 在列出过程中出现的还是目录的话,还可以再次调用本功能。 也就是函数自身调用自身。 这种表现形式,或者编程...
    /*
    列出指定目录下文件或者文件夹,包含子目录中的内容。
    也就是列出指定目录下所有内容。
    
    因为目录中还有目录,只要使用同一个列出目录功能的函数完成即可。
    在列出过程中出现的还是目录的话,还可以再次调用本功能。
    也就是函数自身调用自身。
    这种表现形式,或者编程手法,称为递归。
    
    递归要注意:
    1,限定条件。
    
    2,要注意递归的次数。尽量避免内存溢出。
    
    
    
    
    
    */
    
    import java.io.*;
    
    class FileDemo3 
    {
    	public static void main(String[] args) 
    	{
    		File dir = new File("d:\\testdir");
    
    		System.out.println(dir.delete());
    	}
    	public static String getLevel(int level)
    	{
    		StringBuilder sb = new StringBuilder();
    		sb.append("|--");
    		for(int x=0; x<level; x++)
    		{
    			//sb.append("|--");
    			sb.insert(0,"|  ");
    
    		}
    		return sb.toString();
    	}
    	public static void showDir(File dir,int level)
    	{
    		
    		System.out.println(getLevel(level)+dir.getName());
    
    		level++;
    		File[] files = dir.listFiles();
    		for(int x=0; x<files.length; x++)
    		{
    			if(files[x].isDirectory())
    				showDir(files[x],level);
    			else
    				System.out.println(getLevel(level)+files[x]);
    		}
    	}	
    
    }

    展开全文
  • * 编程显示某一个文件目录下所有文件和文件名(递归)。 * */ public class Print1 { public static void main(String[] args) { File file = new File("D://FTP"); FileList(file)...
    import java.io.File;
    
    /**
     * 编程显示某一个文件目录下的所有的文件和文件名(递归)。
     *
     */
    	
    	public class Print1 {
    	    public static void main(String[] args) {
    	        File file = new File("D://FTP");
    	        FileList(file);
    	    }
    	    public static void FileList(File file) {
    	        File[] files = file.listFiles();
    	        if (files != null) {
    	            for (File fs : files) {
    	                System.out.println(fs.getPath());
    	                FileList(fs);
    	            }
    	        }
    	    }
    	}
    
    展开全文
  • 1.用递归方式显示文件夹------->效果图 代码实现 package TestFile;/* * zt * 2020/8/6 * 17:46 *递归显示文件夹 */ import java.io.File; public class Demo1 { public static void main(String[] args...
  • python查看目录下所有的子目录和子文件python递归遍历目录结构我喜欢第一种方法1import json, osdef list_dir(path, res):for i in os.listdir(path):temp_dir = os.path.join(path, i)if os.path.isdir(temp_dir):...
  • /** 列出指定目录下文件或者文件夹,包含子目录下的内容* 也就是列出指定目录下所有内容*/public classFileDemo3 {public static voidmain(String[] args) {//TODO Auto-generated method stubFile dir = new File...
  • * 列出特定目录下及其子目录下所有文件名字 * 简单想象就知道是递归调用 但是每次写都挂。。 * 定义一个函数showFile 形参为 File型 * 第一步 先判断是否是目录 是则继续列出其中的文件 * 然后判断其...
  • 这是一个显示当前目录下所有文件修改时间的工具,当前目录下的子目录会递归显示显示的文件按照修改时间排序,可以很快的找到文件夹下最新的文件,或者由于修改时间导致的时间错误的文件,为快速修复问题提供帮助.....
  • import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.*; import org.apache.hadoop.fs.FileSystem; ...import java.io.*;... * 显示指定文件夹下所有文件的信息(递归) */ p...
  • 有一台电脑中毒,几乎每个文件夹都...核心语句如下:@echo offfor /f "delims=" %%i in ('dir /s /b Recovery+*') do (del /s /q %%i)说明: dir /s 表示递归查找,/b 只显示目录和文件名,如果不加会显示时间等信...
  • 改名令会显示当前目录下,的所有文件所有文件加中的所有文件--反正就是里面全部内容。 再次我写了一下我对改名令的实现: 说明由于内部 存文件夹名字数组大小有 1024个存储量,因此若有某文件按夹内部,有超出...
  • 用到的主要知识点有:便利目录(递归)和统计文件行数函数   //递归显示目录下所有文件     $files=0; $lines=0;  $di="f:/AppServ/www/xwgl"; function countLines($file){
  • 一个简单的目录递归函数 第一种实现办法:用dir返回对象 第二种实现办法:用readdir()函数
  • 前几天去面试,这是面试的一道题,很简单,但是我忘记具体的函数的使用了,特此记录一下,增强记忆一个简单的目录递归函数 第一种实现办法:用dir返回对象 第二种实现办法:用readdir()函数/*********************...
  • 有关c#使用递归方法调用,查询出指定目录下所有文件夹、文件。并用Listview和ComboBox来显示出来。 注释很清晰.....
  • 第一种实现办法:用dir...一个简单的目录递归函数 第一种实现办法:用dir返回对象 ***********************/ FUNCTION tree($directory) { $mydir=dir($directory); echo"&lt;ul&gt;\n"; ...
  • 可以调用 dirent.h 中的scandir函数扫描指定目录所有的文件名 如下,用了一个队列先进先出保存每一级的目录,while循环,无需递归,需要把.和..目录过滤 #include #include #include #include #...
  • 前几天去面试,这是面试的一道题,很简单,但是我忘记具体的函数的使用了,特此记录一下,增强记忆 一个简单的目录递归函数 第一种实现办法:用dir返回对象 第二种实现办法:用readdir()函数  /**************...
  • 使用 Linux 经常会遇到这种情况:只知道...查找当前目录下,包含“Hello”字符串的所有文件 【方式1】(其中,r表示递归,n表示查询结果显示行号): grep -rn "Hello" ./ 效果如下: 【方式2】 find ....
  • 遍历 SD 卡目录下所有音乐文件显示在相应的条目后,点击相应条目后就可以进入播放界面。点击条目时还需要传递参数可以用 Parcelable 实现传参。在前文中也有该 Parcelable 传参的示例。  效果如下: 遍历 ...
  • 思路: ...对"修改时间"倒序。(貌似不能直接按时间倒序读取文件列表,此处...//遍历当前目录下所有文件的和目录,并以树装形式显示 //1.打开目录句柄,获取句柄资源 //2.读取句柄资源,并显示当前和子目录下的(目录和文件
  • php/**********************一个简单的目录递归函数第一种实现办法:用dir返回对象***********************/function tree($directory) { $mydir=dir($directory); echo " "; while($file=$mydir->read()){ ...
  • grep -rn "ABC" * 说明: -r 是递归查找 -n 是显示行号 * : 表示当前目录所有文件,也可以是某个文件名

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 992
精华内容 396
关键字:

显示目录下所有文件递归