精华内容
下载资源
问答
  • 文件夹遍历

    2014-08-19 12:11:13
    基于c++的文件夹遍历代码,希望对你有帮助
  • Java 层只给 JNI 层传递文件夹路径,在 JNI 中完成文件夹里的文件操作,通常都避免不了需要使用到 文件夹遍历 这个功能。那么,在 NDK 开发中怎么进行文件夹的遍历呢? 其实这就和 C++ 的文件夹遍历方式差不多。NDK...

    Java 层只给 JNI 层传递文件夹路径,在 JNI 中完成文件夹里的文件操作,通常都避免不了需要使用到 文件夹遍历 这个功能。那么,在 NDK 开发中怎么进行文件夹的遍历呢?

    其实这就和 C++ 的文件夹遍历方式差不多。NDK 也给我们提供了 <dirent.h> 头文件,通过这个头文件中的相关方法,我们就可以完成这个功能了。

    native-lib.cpp代码如下:

    #include <jni.h>
    #include <string.h>
    #include <iostream>
    #include <dirent.h>
    #include "log.hpp"
    
    extern "C" {
    
    using namespace std;
    
    void showAllFiles(string dir_name) {
        // check the parameter
        if (dir_name.empty()) {
            LOGE("dir_name is null !");
            return;
        }
        DIR *dir = opendir(dir_name.c_str());
        // check is dir ?
        if (NULL == dir) {
            LOGE("Can not open dir. Check path or permission!");
            return;
        }
        struct dirent *file;
        // read all the files in dir
        while ((file = readdir(dir)) != NULL) {
            // skip "." and ".."
            if (strcmp(file->d_name, ".") == 0 || strcmp(file->d_name, "..") == 0) {
                LOGV("ignore . and ..");
                continue;
            }
            if (file->d_type == DT_DIR) {
                string filePath = dir_name + "/" + file->d_name;
                showAllFiles(filePath); // 递归执行
            } else {
                // 如果需要把路径保存到集合中去,就在这里执行 add 的操作
                LOGI("filePath: %s/%s", dir_name.c_str(), file->d_name);
            }
        }
        closedir(dir);
    }
    
    JNIEXPORT void JNICALL
    Java_com_afei_jnidemo_MainActivity_showDir(JNIEnv *env, jobject instance, jstring dirPath_) {
        const char *dirPath = env->GetStringUTFChars(dirPath_, 0);
        showAllFiles(string(dirPath));
        env->ReleaseStringUTFChars(dirPath_, dirPath);
    }
    
    }

    MainActivirt 调用示例:

    package com.afei.jnidemo;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    
    public class MainActivity extends AppCompatActivity {
    
        static {
            System.loadLibrary("native-lib");
        }
    
        @Override
        protected void
        onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            showDir("/sdcard/sensetime/detect/batch");
        }
    
        public native void showDir(String dirPath);
    
    }
    

    运行结果:

    08-01 17:09:32.919 13820-13820/com.afei.jnidemo V/FaceAPI: ignore . and ..
        ignore . and ..
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo I/FaceAPI: filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.05.33_0.19583142.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.25.31_0.6432047.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.20.19_0.7755328.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.08.23_0.085364416.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.11-11.20.06_0.9677857.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.17.25_0.96264386.jpg
        filePath: /sdcard/sensetime/detect/batch/2017.12.13-11.25.30_0.9945698.jpg
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo V/FaceAPI: ignore . and ..
        ignore . and ..
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo I/FaceAPI: filePath: /sdcard/sensetime/detect/batch/q/2017.12.13-11.28.16_0.17593002.jpg
        filePath: /sdcard/sensetime/detect/batch/q/2017.12.12-11.30.46_0.6113686.jpg
        filePath: /sdcard/sensetime/detect/batch/q/2017.12.13-11.46.55_0.9884704.jpg
        filePath: /sdcard/sensetime/detect/batch/q/2017.12.13-11.30.08_0.12916178.jpg
        filePath: /sdcard/sensetime/detect/batch/q/2017.12.13-11.41.12_0.54208493.jpg
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo V/FaceAPI: ignore . and ..
        ignore . and ..
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo I/FaceAPI: filePath: /sdcard/sensetime/detect/batch/w/2017.12.12-11.28.26_0.48372716.jpg
        filePath: /sdcard/sensetime/detect/batch/w/2017.12.11-11.14.04_0.04731889.jpg
        filePath: /sdcard/sensetime/detect/batch/w/2017.12.12-11.21.32_0.456345.jpg
        filePath: /sdcard/sensetime/detect/batch/w/2017.12.13-11.46.51_0.23463911.jpg
        filePath: /sdcard/sensetime/detect/batch/w/2017.12.13-11.05.48_0.028296137.jpg
        filePath: /sdcard/sensetime/detect/batch/w/IMG_20170207_165920.JPG
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo V/FaceAPI: ignore . and ..
        ignore . and ..
    08-01 17:09:32.919 13820-13820/com.afei.jnidemo I/FaceAPI: filePath: /sdcard/sensetime/detect/batch/e/2017.12.12-11.18.55_0.1639892.jpg
        filePath: /sdcard/sensetime/detect/batch/e/2017.12.12-11.18.53_0.011175653.jpg
        filePath: /sdcard/sensetime/detect/batch/e/2017.12.13-11.46.53_0.324961.jpg

     

    其它:

    log.hpp 的介绍在这个链接:NDK 开发之 Android log 输出的工具类封装

    ​NDK 学习系列:Android NDK 从入门到精通(汇总篇)

    展开全文
  • 遍历文件夹以及字文件夹遍历文件夹以及字文件夹遍历文件夹以及字文件夹
  • PHP文件夹遍历

    2013-10-22 12:35:12
    一段简单的PHP文件夹遍历代码,打印出指定目录以及子目录的文件名。
  • 文件夹遍历类的实现

    2017-03-14 15:43:26
    在Linux平台下实现的文件夹遍历类。采用了stack 和queue来实现循环深度优先遍历和循环广度优先遍历。采用pthread编程。类比于Windows平台的线程编程。压缩包中的文件MediaFileMgr.h可以扩展,具体扩展可根据使用者的...
  • 下面小编就为大家分享一篇对Python 文件夹遍历和文件查找的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • ------------------------------java文件夹遍历包括子文件夹的遍历和删除-------------------------- 递归就是方法调用方法自身,递归一定有条件跳出。 如何使用递归的计算方式计算阶乘 5!= 5*4*3*2*1 .. N!= ...

    ------------------------------java文件夹遍历包括子文件夹的遍历和删除--------------------------

     

    递归就是方法调用方法自身,递归一定有条件跳出。

     

           如何使用递归的计算方式计算阶乘

           5!= 5*4*3*2*1

           ..

           N!= n*(n-1)

     

    例子:

    public  class FileDemo8 {

     

        public  static  void main (String[] args) throws IOException {

            intresult = fn(5);

            System.out.println(result);

            //输出结果为120

           

           

        }

        /**

         * n!= n * (n-1)

         * 递归计算阶乘

         *

         */

        public  static  int fn(int  n) {

            if(n >= 2 ) {

               //对方法自身的调用

               return  n * fn(n-1);

            }

            return 1;

        }

       

    }

     

    ----------------------------------------

    练习:利用递归打印文件夹下所有的子文件。

     

    package cn.tx.file;

     

    import java.io.File;

    import java.io.IOException;

    import java.text.SimpleDateFormat;

    import java.util.Date;

     

    public class FileDemo9 {

          

           //判断文件夹在第几层

           public  static int level = 1;

     

           public  static void main (String[] args) throws IOException {

          

                  File  file = new File("E:/李昆鹏/java/javaseWord文件");

                  //打印文件夹下所有文件包括子文件夹中的文件

                  printFile(file);

                  //输出结果

    /*  2018年3月24日

                  java对象比较和TreeSet.docx

                  java文件夹遍历.docx

                  java文件构造器.docx

                  java的Array工具类.docx

                  java的Map介绍和添加.docx

                  java的Map的子类.docx

                  java的set集合和子类HashSet.docx

                  java的扑克牌测试题.docx

                  java的集合工具类.docx

                  ~$va文件夹遍历.docx

                  ~$va文件构造器.docx

                  ~$va的Map的子类.docx

           2018年3月24日前

                  Eclipse中debug的使用.docx

                  Eclipse代码自动生成.docx

                  Eclipse工程导入和删除.docx

                  Eclipse快捷键使用.docx

                  Eclipse的使用和异常.docx

                  Eclipse视图介绍.docx

                  java中包装类概述.docx

                  java中自动装箱、拆箱和包装类默认值问题.docx

                  java字符串判断方法.docx

                  java字符串概述.docx

                  java字符串的作业题字符串分解.docx

                  java字符串的特殊功能.docx

                  java字符串获取.docx

                  java异常分类和处理.docx

                  java权限修饰符.docx

                  java的Collection常用方法.docx

                  java的List实现类.docx

                  java的List集合.docx

                  java的StringBuffer可变字符串.docx

                  java的StringBuffer可变字符串的追加.docx

                  java的System类常用方法.docx

                  java的日历类.docx

                  java的日期类Date.docx

                  java的随机数.docx

                  java编译期的异常处理.docx

                  java迭代器.docx

                  java集合.docx

                  java集合中泛型的使用.docx

                  object的方法.docx

                  object的概述.docx

           BAT面试题.txt

           java飞机小项目

                  java飞机小项目总结.docx

                  java飞机小项目第一步建主窗口.docx

                  java飞机小项目第七步面向对象重构飞机类的键盘控制代码.docx

                  java飞机小项目第三步线程内部类实现动画.docx

                  java飞机小项目第九步矩形检测原理.docx

                  java飞机小项目第二步图形和文本绘制.docx

                  java飞机小项目第五步面向对象思想重构飞机类设计.docx

                  java飞机小项目第八步炮弹类设计_任意角度飞行.docx

                  java飞机小项目第六步键盘控制游戏物体原理.docx

                  java飞机小项目第十一步飞机死亡计时功能.docx

                  java飞机小项目第十步爆炸类_图片数组轮播处理 - 副本.docx

                  java飞机小项目第四步创建游戏物体根类的实现.docx

                  飞机小项目图片

                         imges

                                backdrop.jpg

                                boon1.jpg

                                boon10.jpg

                                boon11.jpg

                                boon12.jpg

                                boon13.jpg

                                boon14.jpg

                                boon2.jpg

                                boon3.jpg

                                boon4.jpg

                                boon5.jpg

                                boon6.jpg

                                boon7.jpg

                                boon8.jpg

                                boon9.jpg

                                bullet.jpg

                                plane.png

                                timg.jpg

           简历介绍.docx 

           */

     

           }

          

           /**

            *

            * 遍历文件夹下的所有文件

            *

            */

           public  static void printFile(File file) {

                  //判断文件是否是文件夹

                  if(!file.isDirectory()){

                         //返回值是void的时候,方法中的return代表程序结束

                         return;

                  }

                  if(!file.exists()){

                         return;

                  }

                  level++;

                  //遍历文件夹内部的文件

                  File[]  files = file.listFiles();

                  for(Filef : files) {

                         //打印缩进

                         for(int i = 0; i < level; i++) {

                                System.out.print("\t");

                               

                         }

                         //遍历文件

                         //System.out.println(f);

                         //遍历文件名

                         String  name = f.getName();

                         System.out.println(name);

                         //判断是否是文件夹

                         if(f.isDirectory()){

                                //调用递归打印文件夹中的文件夹

                                printFile(f);

                         }

                        

                  }

                  level--;

           }

          

    }

     

    -----------------------------------------------

    练习: 如何删除一个文件夹下的所有文件(不包括目录)?

     

    public  class FileDemo10 {

       

        public  static  void main (String[] args) throws IOException {

       

            File file = new File("aa");

            //删除文件夹下所有文件包括子文件夹中的文件(不包括文件夹)

            deleteFile(file);

        }

       

        /**

         *

         * 遍历文件夹下的所有文件

         *

         */

        public  static  void deleteFile(File file) {

            //判断文件是否是文件夹

            if(!file.isDirectory()) {

               //返回值是void的时候,方法中的return代表程序结束

               return;

            }

            if(!file.exists()) {

               return;

            }

            //遍历文件夹内部的文件

            File[] files = file.listFiles();

            for(File f : files) {

               //判断是否是文件

               if(f.isFile()) {

                   //删除文件

                   f.delete();

               }else {

                   //如果是文件夹就调用递归来对文件夹中的文件进行删除

                   deleteFile(f);

               }

              

             }

              

            }

        }

       

    ---------------------------------------------------

    练习:如何删除一个文件夹下所有的文件(包括目录)

     

     

    public  class FileDemo10 {

       

        public static  void main (String[] args) throws IOException {

       

            File file = new File("aa");

            //删除文件夹下所有文件包括子文件夹中的文件(包括文件夹)

            deleteFile(file);

        }

       

        /**

         *

         * 遍历文件夹下的所有文件

         *

         */

        public  static  void deleteFile(File file) {

            //判断文件是否是文件夹

            if(!file.isDirectory()) {

               //返回值是void的时候,方法中的return代表程序结束

               file.delete();

               return;

            }

            if(!file.exists()) {

               return;

            }

            //遍历文件夹内部的文件

            File[] files = file.listFiles();

            for(File f : files) {

               //判断是否是文件

               if(!f.isFile()) {

                   //如果不是文件就调用递归删除

                   deleteFile(f);

               }

                   //删除文件

                   f.delete();

               }

              

             }

              

            }

       

     

     

     

    展开全文
  • 文件夹遍历的程序

    2011-12-29 16:00:28
    文件夹 遍历的代码 int isDir(const char* path) { struct stat st; lstat(path, &st;); return S_ISDIR(st.st_mode);
  • 文件读写&文件夹遍历

    2015-04-25 21:11:57
    文件读写&文件夹遍历
    

    文件读写

     

    读文件()

    	private void readFile(File file) throws IOException {
    		FileInputStream stream = null;
    		stream = new FileInputStream(file);
    
    		DataInputStream sysin = new DataInputStream(stream);
    		String line = null;
    
    		while ((line = sysin.readLine()) != null) {
    			if (line.trim().equals("")) {
    				continue;
    			}
    			System.out.println(line);
    		}
    	}
    


    写文件

    public void write(String filePath) throws IOException {
    		File file = new File(filePath);
    		if (!file.exists())
    			file.createNewFile();
    		FileOutputStream out = new FileOutputStream(file, false);
    		String data = "aa\nbb";
    		out.write(data.toString().getBytes("utf-8"));
    		ParsePclntResult obj = new ParsePclntResult();
    	}
    

    递归删除指定文件夹下的文件(遍历文件)

    private void cleanupRecursive(File file) {
    		try {
    			if (file.isDirectory()) {
    
    				for (File child : file.listFiles()) {
    					cleanupRecursive(child);
    				}
    				if (file.listFiles().length == 0) {
    					file.delete();
    				}
    			} else {
    
    				if (file.getName().endsWith(".xls")) {
    					file.delete();
    				}
    			}
    		} catch (Exception e) {
    			System.out.println(e.getMessage() + "\nFile:" + file.getAbsolutePath());
    		}
    
    	}
    






    展开全文
  • vc对文件夹遍历其下的所有子文件夹和文件
  • 文件夹遍历 import os#导入os模块 def func(filepath,n):#声明一个函数,参数是想要遍历的文件/文件夹的绝对路径;n是文件夹的层数 files = os.listdir(filepath)#获取想要遍历文件里所有文件或文件夹的名字 for ...

    文件夹遍历

    import os#导入os模块
    def func(filepath,n):#声明一个函数,参数是想要遍历的文件/文件夹的绝对路径;n是文件夹的层数
        files = os.listdir(filepath)#获取想要遍历文件里所有文件或文件夹的名字
        for file in files:#循环出每一个文件或文件夹
            f = os.path.join(filepath,file)#将循环出的文件或文件夹的绝对路径拼接出来
            if os.path.isdir(f):#判断如果当前循环的内容是文件夹
                print('\t'*n,f)#打印文件夹的名字,此为第一层文件夹所以在前面加一个n tab的空格位置
                func(f,n+1)#继续执行func函数,达到遍历效果,因为判断是第一层文件夹,所以讲n+1传递给下一层文件夹去使用判断
            else:
                print('\t'*n,file)#如果不是文件夹就直接打印文件名字
    func('F:/1-40/day15',0)#执行想要遍历的文件夹的绝对路径,n初始参数定为0
    
     15.pdf
     F:/1-40/day15\code
    	 01 今日内容大纲
    	 02 repr.py
    	 03 lambda.py
    	 04 函数.py
    	 05 sorted.py
    	 06 filter.py
    	 07 map.py
    	 08 递归.py
    	 09 二分法查找.py
     F:/1-40/day15\video
    	 01 python fullstack s15 day15 昨日内容回顾和lambda匿名函数.mp4
    	 02 python fullstack s15 day15 sorted排序函数.mp4
    	 03 python fullstack s15 day15 filter筛选函数.mp4
    	 04 python fullstack s15 day15 map映射函数和递归.mp4
    	 05 python fullstack s15 day15 递归应用-文件夹遍历.mp4
    	 06 python fullstack s15 day15 递归应用-二分法查找.mp4
    

    冒泡排序

    lst = [3,42,53,31,453,43,2,4]
    for i in range(len(lst)-1):#第i次拿出一个数跟所有数比较
        for v in range(len(lst)-1):#与第v个数做比较
            if lst[v]>lst[v+1]:#相邻俩个数比较
                lst[v],lst[v+1]= lst[v+1],lst[v]#如果左边比右边大就换位置
    print(lst)
    
    [2, 3, 4, 31, 42, 43, 53, 453]
    
    Process finished with exit code 0
    
    展开全文
  • 微信公众号原文 ...本文介绍:文件夹遍历,文件或者文件夹判断 Part 1:代码 import os current_address = os.path.dirname(os.path.abspath(__file__)) file_list = os.listdir(current_address) for
  • 分别使用Java老IO和新IO实现文件夹遍历本文是原创文章,转载请注明出处哦。 老IO遍历 新IO遍历 例如下面图片所示的文件目录结构: 老IO遍历使用Java老IO的API遍历文件夹及其子文件夹下的内容,主要用到递归算法,...
  • 【python基础】OS之文件夹遍历

    千次阅读 2018-05-24 21:55:58
    通过调用os对文件夹遍历主要有两种方法:os.listdir和os.walk。下面分别演示两个函数的用法。 文件夹目录组织形式为: 使用os.list遍历 import os directory = os.listdir('.') print('------------------...
  • 准确遍历多级文件夹下的内容,快速实现图片视频搜索
  • Win32的文件夹遍历方法之递归写法文章关键字:|递归|Win32|文件夹|遍历|  <br /> 文件夹遍历技术是一种非常有用的技术,在文件的搜索以及杀毒软件中都使用了这种技术。以下我将讨论如何在Win32下实现...
  • shell常用命令文件夹遍历

    千次阅读 2018-07-12 16:19:36
    1:遍历文件夹下面所有文件,并输出到path.path文件中#!/bin/bashfunction getdir(){ for element in `ls $1` do dir_or_file=$1"/"$element if [ -d $dir_or_file ] then getdir $dir_or_file ...
  • windows下文件夹遍历

    千次阅读 2016-05-06 11:28:52
    文件夹的操作,是我们在编程中经常遇到的问题,在linux上和windows上经常会有文件夹操作的需求,典型的例子如遍历文件夹中的所有文件,在这两个系统中文件夹操作所提供的API也有所不同。  最近我老婆向我提了一个...
  • Win10下文件夹遍历代码
  • 【1】文件夹遍历 list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles) ImageDirectory: 文件夹路径 Extensions: 文件扩展名,如'.bmp' '.jpg' Options: 搜索选项 ‘recursive’ 指定...
  • /** * 删除文件或者文件夹,对于文件夹遍历其子文件夹进行递归删除 * @param f - File对象 * @return 删除是否成功 */ public static boolean deleteFile(File f) { if (f.exists()) { if (f.isFile()) return f....
  • c语言文件夹遍历源码

    2011-01-20 18:51:16
    这是自己用vc写的文件遍历源码,可以对一个路径进行遍历,并赋值给一个结构体
  • vbscript对文件夹遍历

    2016-03-13 02:08:17
    ' 对文件夹进行遍历 Dim fso,folder,file,FileInfo Set fso = CreateObject("scripting.filesystemobject") Set folder = fso.GetFolder("D:\yld的文件\常见问题") ' 获得文件夹对象 ' 文件夹对象的...
  • OpenCV中有实现遍历文件夹下所有文件的类Directory,它里面包括3个成员函数:(1)、GetListFiles:遍历指定文件夹下的所有文件,不包括指定文件夹内的文件夹;(2)、GetListFolders:遍历指定文件夹下的所有文件夹,不...
  • 点击这个按键,弹出对话框,我可以在对话框中选中对应的文件夹,(目前不知道怎么选中文件夹)然后系统遍历文件夹中所有的.xml文件,文件夹包括一级文件夹,二级文件夹。要求遍历.xml后,可以知道每个.xml文件的具体...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 141,583
精华内容 56,633
关键字:

文件夹遍历