java学习笔记-获取并打印C盘下多级目录名和文件名, 目录前加"-", 文件名前加两个空格

这篇博客介绍了如何使用Java通过递归遍历C盘目录,详细展示了如何打印出多级目录名和文件名,其中目录前缀以'-'标识,文件名前缀两个空格。示例输出包括文件路径如C:q3r.vsdx,以及带有层级结构的子目录路径,如-C: ttaaaabc.txt。
摘要由CSDN通过智能技术生成

要求打印效果如下所示:

 C:\q3r.vsdx
 C:\qwer.txt
-C:\sss
    C:\sss\adf.txt
    C:\sss\etqs.txt
-C:\ttt
    -C:\ttt\aaa
        C:\ttt\aaa\abc.txt
     C:\ttt\nrgf.txt
     C:\ttt\qwerq.docx


代码中使用了递归

代码如下:


import java.io.File;


/**
 * Created by YZT on 2018/1/13 0013.
 */
public class getAllPathAndFileName {


    public static void main(String[] args) throws Exception {
        File f = new File("C:\\linshi");
        getAllPathAndFileName mgetAllFileNameAndPath = new getAllPathAndFileName();
        mgetAllFileNameAndPath.getDirectorys(f, 0);
    }

    public void getDirectorys(File f, int level) throws Exception {
        String space = getSpace(++level);
        File[] l = f.listFiles();

        if (l.length == 0)
   
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Python的os和shutil模块来实现这个任务。下面是一个示例代码: ```python import os import shutil def get_files_with_specific_name(directory, file_name, output_directory): # 获取目录下的所有文件夹 subdirectories = [name for name in os.listdir(directory) if os.path.isdir(os.path.join(directory, name))] for subdirectory in subdirectories: # 构建当前子文件夹的完整路径 subdirectory_path = os.path.join(directory, subdirectory) # 获取当前子文件夹下的所有文件 files = [name for name in os.listdir(subdirectory_path) if os.path.isfile(os.path.join(subdirectory_path, name))] # 寻找指定文件名文件并复制到输出目录 for file in files: if file == file_name: output_subdirectory = os.path.join(output_directory, subdirectory) os.makedirs(output_subdirectory, exist_ok=True) # 创建输出子文件夹 source_file = os.path.join(subdirectory_path, file) destination_file = os.path.join(output_subdirectory, file) shutil.copy(source_file, destination_file) print(f"已复制文件: {file} 到目录: {output_subdirectory}") # 指定目录和输出目录 directory = 'path/to/directory' output_directory = 'path/to/output_directory' file_name = 'example.txt' # 指定的文件名 # 调用函数获取指定文件名文件并保存到指定文件夹 get_files_with_specific_name(directory, file_name, output_directory) ``` 在上面的示例代码,你需要将`directory`替换为你想要搜索的目录路径,将`output_directory`替换为你想要保存指定文件名文件目录路径,将`file_name`替换为你想要获取的特定文件名。代码会遍历指定目录下的所有文件夹,并将符合指定文件名文件复制到指定的输出目录的子文件。 请确保在运行代码之前已经安装了必要的模块(os、shutil),并将目录路径和文件名替换为你自己的实际路径和文件名

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值