精华内容
下载资源
问答
  • 递归遍历目录列出目录中的文件,代码:#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <dirent.h> #include <sys/types.h>...

    递归遍历目录,列出目录中的文件,代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <dirent.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    
    #define MAX_PATH 512  //最大文件长度定义为512
    
    /*对目录中所有文件执行print_file_info操作*/
    void dirwalk(char *dir, void (*func)(char *))
    {
    	char name[MAX_PATH];
    	struct dirent *dp;
    	DIR *dfd;
    	
    	if((dfd = opendir(dir)) == NULL){
    		fprintf(stderr, "dirwalk: can't open %s\n", dir);
    		return;
    	}
    	
    	while((dp = readdir(dfd)) != NULL){ //读目录记录项
    		if(strcmp(dp->d_name, ".") == 0 || strcmp(dp -> d_name, "..") == 0){
    			continue;  //跳过当前目录以及父目录
    		}
    		
    		if(strlen(dir) + strlen(dp -> d_name) + 2 > sizeof(name)){
    			fprintf(stderr, "dirwalk : name %s %s too long\n", dir, dp->d_name);
    		}else{
    			sprintf(name, "%s/%s", dir, dp->d_name);
    			(*func)(name);
    		}
    	}
    	closedir(dfd);
    }
    
    /*打印文件信息*/
    void print_file_info(char *name)
    {
    	struct stat stbuf;
    	
    	if(stat(name, &stbuf) == -1){
    		fprintf(stderr, "file size: open %s failed\n", name);
    		return;
    	}
    	
    	if((stbuf.st_mode & S_IFMT) == S_IFDIR){ 
    		dirwalk(name, print_file_info);	 //如果是目录遍历下一级目录
    	}else{							
    		printf("%8ld    %s\n", stbuf.st_size, name);//不是目录,打印文件size及name
    	}
    }
    
    int main(int argc, char *argv[])
    {
    	printf("file size    file name\n");
    	if(argc == 1){
    		print_file_info(".");//未加参数执行时,从当前目录开始遍历
    	}else{
    		while(--argc>0){
    			print_file_info(*++argv);
    		}
    	}
    	
    	return 0;
    }
    

    程序运行及执行结果:

    yu@ubuntu:~/Linux/206/dirop$ gcc -o dir dir.c 
    
    yu@ubuntu:~/Linux/206/dirop$ ./dir 
    file size    file name
        7820    ./dir
        1351    ./dir.c
        
    yu@ubuntu:~/Linux/206/dirop$ ./dir /home/yu/Linux/206
    file size    file name
        7560    /home/yu/Linux/206/copy
           0    /home/yu/Linux/206/src
        7820    /home/yu/Linux/206/dir
         487    /home/yu/Linux/206/copy.c
        7516    /home/yu/Linux/206/lseek
        7516    /home/yu/Linux/206/llll/lseek
        1025    /home/yu/Linux/206/llll/x
         348    /home/yu/Linux/206/llll/lseek.c
           0    /home/yu/Linux/206/x
          24    /home/yu/Linux/206/dest
         348    /home/yu/Linux/206/lseek.c
        7820    /home/yu/Linux/206/dirop/dir
        1351    /home/yu/Linux/206/dirop/dir.c
    
    

    这里写图片描述

    展开全文
  • Java编写一个程序,列出当前目录下所有文件子目录的名称,并将它们保存在一个文本文件中。说明:对于子目录中的内容,也要递归地进行处理。 困扰了好几个小时,要将字符串写入txt文档中,一条一条目录写入,不能覆盖...

    Java编写一个程序,列出当前目录下所有文件和子目录的名称,并将它们保存在一个文本文件中。说明:对于子目录中的内容,也要递归地进行处理。

    困扰了好几个小时,要将字符串写入txt文档中,一条一条目录写入,不能覆盖上一条,如果覆盖了等于没有存储。最终查到,只需在outputStream = new FileOutputStream(file2,true)中加一个参数true即可,最终成功解决!

    package pack3;
    import java.io.File;
    import java.io.FileOutputStream;
    public class list1 {
    	public static void getFile(File file){
    		if(file != null){
    			File[] f = file.listFiles();
    			if(f != null){
    				for(int i=0;i<f.length;i++){
    					getFile(f[i]);
    				}
    			}else{
    				System.out.println(file);	
    				File file2 = new File("E:/桌面—s/1桌面s/1资源pa/read.txt");
    				FileOutputStream outputStream;
    				try {
    					outputStream = new FileOutputStream(file2,true);//加true这个参数防止覆盖文档之前的字符
    					outputStream.write(String.valueOf(file+"\n").getBytes());
    					outputStream.close();
    				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}	
    		}
    	}
    	public static void main(String[] args) {
    		String path = "E:/桌面—s/网络流量分析文档/"; 
    		
    		//清空txt文件,不清空会重叠,如果不需要清空可删除这些代码
    		File file = new File("E:/桌面—s/1桌面s/1资源pa/read.txt");
    		FileOutputStream outputStream;
    		try {
    			outputStream = new FileOutputStream(file);
    			outputStream.write(" ".getBytes());
    			outputStream.close();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    		System.out.println("txt文件已清空,下面开始写入");
    		
    		File f = new File(path);
    		list1.getFile(f);
    		System.out.println("所有文件目录已写入txt文档中!");
    	}
    		
    }
    
    

    输出到文档:
    在这里插入图片描述

    展开全文
  • 实例:列出当前目录子目录下所有文件(/S/B),不包括文件夹(/A:A)  dir /S/B /A:A   以下内容只供参考 DIR——显示磁盘目录命令  1.功能:显示磁盘目录的内容。  2.类型:内部命令  3.格式:DIR...

    实例:列出当前目录及子目录下的所有文件(/S/B),不包括文件夹(/A:A)
      dir /S/B /A:A

     

    以下内容只供参考

    DIR——显示磁盘目录命令
      1.功能:显示磁盘目录的内容。
      2.类型:内部命令
      3.格式:DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]4.
      使用说明
      /A 显示具有指定属性的文件。
      属性 D 目录 R 只读文件
      H 隐藏文件 A 准备存档的文件
      S 系统文件 I 无内容索引文件
      L 解析点 - 表示“否”的前缀
      /B 使用空格式(没有标题信息或摘要)。
      /C 在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
      禁用分隔符显示。
      /D 跟宽式相同,但文件是按栏分类列出的。
      /L 用小写。
      /N 新的长列表格式,其中文件名在最右边。
      /O 用分类顺序列出文件。
      排列顺序 N 按名称(字母顺序) S 按大小(从小到大)
      E 按扩展名(字母顺序) D 按日期/时间(从先到后)
      G 组目录优先 - 反转顺序的前缀
      /P 在每个信息屏幕后暂停。
      /Q 显示文件所有者。
      /R 显示文件的备用数据流。
      /S 显示指定目录和所有子目录中的文件。
      /T 控制显示或用来分类的时间字符域。
      时间段 C 创建时间
      A 上次访问时间
      W 上次写入的时间
      /W 用宽列表格式。
      /X 显示为非 8.3 文件名产生的短名称。格式是 /N 的格式,
      短名称插在长名称前面。如果没有短名称,在其位置则
      显示空白。
      /4 用四位数字显示年
      可以在 DIRCMD 环境变量中预先设定开关。通过添加前缀 - (破折号)
      来替代预先设定的开关。例如,/-W。
      dir x: /a:d 只显示X盘下所有的目录
      dir x: /a:-d 只显示X盘下所有的文件(这好象不对。作者注)
      如果不写盘符,默认为当前目录

    展开全文
  • Java列出指定目录下所有子目录文件 public class FileUtils { public static void list(File file) { //如果是目录,则输出目录名称,然后遍历目录下文件;否则输出文件名称 if(file.isDirectory()) { ...

    Java列出指定目录下所有子目录及文件

    public class FileUtils {
    	  public static void list(File file) {
    		    //如果是目录,则输出目录名称,然后遍历目录下的文件;否则输出文件名称
    		    if(file.isDirectory()) {
    			      System.out.println("Directory => " + file.getName());
    			      File[] files = file.listFiles();
    			      for(File child : files) {
    			      		list(child);
    			      }
    		    } else {
    		      		System.out.println("File => " + file.getName());
    		    }
    	  }
    }
    
    展开全文
  • >>> import os # 导入os模块,模块的... [d for d in os.listdir('.')] # os.listdir可以列出文件目录 ['.emacs.d', '.ssh', '.Trash', 'Adlm', 'Applications', 'Desktop', 'Documents', 'Downloads', ...
  • 列出所有子目录下的文件/再归的表示文件下所有子文件 ls -R 再归的列出所有子目录下的文件,并显示详细信息 ls -lR ls -lR是ls -l 与ls -R的结合。 ls -l列出文件的详细信息。 ...
  • Python列出当前目录下所有含有指定名称的文件(包括路径),经过本人测试可以正常运行, 形如这样 /data/text/test.txt /data/test.txt # -*- coding=utf-8 -*- __author__='wo' import os class Student(): ...
  • linux 列出目录下所有文件目录

    千次阅读 2015-07-27 20:39:51
    Linux下面列出目录下面的所有子目录文件,且支持递归。
  • #!/bin/bash function echofile(){ if [[ ! $1 =~ \.log$ ]];then echo $1 fi } function getdir(){ for item in `ls $1` do filename=$1"/"$item if [[...
  • 分享一个大牛的人工智能教程。零基础!...如果只要求列出当前文件夹文件,代码如下所示: package chimomo.learning.java.code.file; import java.io.File; /** * @author Created by Chimomo...
  • 编写一个程序,能在当前目录以及当前目录所有子目录下查找文件名包含指定字符串的文件,并打印相对路径。 2. 解答 import os # 引入os &quot;编写一个程序,能在当前目录以及当前目录所有子目录下查找...
  • nbsp)对指定目录所有内容的列出(包括子目录中的内容) 也可以理解为:深度遍历 注意:如果使用的是listFiles(pathname)方法列出文件目录,则不能之间整个磁盘的内容,而是列出某个文件中的内容。 代码: ...
  • linux列出当前目录下所有目录

    千次阅读 2019-06-04 14:09:00
    ### 列出当前目录所有目录: [root@localhost ~]# ls -ld * #列出所有的文件 drwxr-xr-x. 5 root root 44 Nov 28 03:46 elasticsearch drwxr-xr-x 8 root root 134 Apr 2 12:01 elasticsearch-6.7.1 -rw-r...
  • 直接贴代码 basepath=$1 findfile(){ dirs=$(ls -l $1 | awk '{print $9}') for dir in $dirs do if test -d "$1/$dir" then findfi...
  • ls命令就是list的缩写,缺省ls用来打印出当前目录的清单。如果ls指定其他目录,那么就会显示指定目录里的文件及文件夹清单。 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录、...
  • 列出目录中指定文件类型的所有文件可以选择是否列出子目录文件,也可以指定多种扩展名设计步骤: 1.方法listFile (File dir ,FileFilter ff,boolean recursive )方法,把dir目录中  经过ff过滤的文件添加到...
  • ls命令(列出所有子目录文件)

    万次阅读 2016-12-07 14:28:16
    对于每个目录,该命令将列出其中的所有子目录文件。对于每个文件,ls将输出 其文件名以及所要求的其他信息。默认情况,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。 参数
  • 编辑 获取当前路径的文件列表.bat ...dir *.*/b >>当前文件夹下所有文件列表.txt     另外如何替换每一行 行首加a和行尾加z: replace('\n','z\na') 然后再第一行加个a 最后一行加个z
  • 1.在当前文件夹新建list.txt文档,输入如下内容并保存: DIR /S/B >filelist.txt  2.将list.txt重命名为list.bat,保存并执行。 3.可以看到当前文件夹出现filelist.txt文档。
  • linux ls列出目录下所有文件数量

    千次阅读 2013-07-01 13:18:16
    查看统计当前目录下文件的个数,包括子目录里的。 ls-lR|grep"^-"|wc-lLinux查看某个目录下文件、或文件夹个数用到3个命令:ls列目录、用grep过虑、再用wc统计。举例说明:... 查看统计当前目录下文件的个数,...
  • linux下列出当前目录所有目录名称问题 ls -lR |grep -v ^d|awk '{print $9}' |tr -s '\n' 一些其他命令 # 递归查询目录下子文件个数 ls -d */*|wc -l # 递归查询子文件 ls -lR */*|grep ...
  • ls -lR * | grep fileName
  • 一循环列出目录下所有文件 #!/bin/bash function frfile() { local basefolder=$1 echo $basefolder #local filename for filename in $(ls $basefolder) do local fullpathfile=$basefolder/$fi
  • Date: 2018.5.23 ==========================================================...(1)获取当前目录子目录下所有文件路径列表:getallfiles.py import os import sys allfile = [] def get_all_file(rawdir)...
  • 所以,现在问题是如何获取当前路径,并获取指定目录下所有文件,然后对每一文件进行单独处理呢? 解决方案 首先获取当前路径,使用下面的代码: import os path = os.getcwd()#获取当前路径 print(path) 输出: '...
  • #在当前目录以及当前目录所有子目录下查找文件名包含指定字符串的文件,并打印相对路径 import os #中文文件夹会出错,未能解决 def search(path, s): listfile = [x for x in os.listdir(path) if os.path....
  • 廖雪峰python教程中的的第二题目的解答, 网址为: ... 编写一个程序,能在当前目录以及当前目录所有子目录下查找
  • ls -la -R(reverse关键是这个命令)
  • 我们拿到了一个目录目录下有若干子目录,每个子目录下还有若干子目录文件,我们希望只输入最上层目录,就可以吧该目录下所有文件都取出来,然后进行移动或者复制。目录结构或许是这样的: dir1 |-- subdir1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 763,138
精华内容 305,255
关键字:

列出当前目录下所有文件以及子文件