Java怎么在某个文件夹上找特定名称文件

该Java程序遍历指定的Maven本地仓库路径(C:Usersgraces.m2 epository),通过递归列出所有子目录中的POM文件,并将这些文件的绝对路径添加到列表中。最后,程序打印出找到的所有POM文件的路径。

上代码:


import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Main
{
    public static void main(String[] args) {
        String rootRepoPath = "C:\\Users\\graces\\.m2\\repository";
        searchPomFile(rootRepoPath);
    }


    public static void searchPomFile(String rootRepoPath) {
       List<String> pomFileList = new ArrayList<>();
       listFolder(new File(rootRepoPath), pomFileList);
       pomFileList.stream().forEach(x -> System.out.println(x));
    }

    public static void listFolder(File folder, List<String> pomFileList) {
        for (File file:
             folder.listFiles()) {
           if (file.isDirectory()) {
               listFolder(file, pomFileList);
           } else {
               if (file.getName().endsWith(".pom")) {
                   pomFileList.add(file.getAbsoluteFile().getAbsolutePath());
               }
           }
        }

    }

}

### 在 MinIO 客户端中通过文件名下载特定文件夹下的文件 在 MinIO 客户端中,可以通过指定存储桶、文件夹路径和文件名来下载位于特定文件夹下的文件。以下是实现该功能的详细说明: #### 1. 使用 MinIO Java SDK 下载特定文件夹下的文件 MinIO 的对象存储系统中,文件夹的概念实际上是一种逻辑上的前缀表示。例如,`folder/subfolder/file.txt` 中的 `folder/` 和 `subfolder/` 是作为对象名称的一部分存在[^4]。以下是一个基于 MinIO Java SDK 的代码示例,展示如何下载特定文件夹下的文件: ```java import io.minio.MinioClient; import io.minio.GetObjectArgs; import java.nio.file.Files; import java.nio.file.StandardCopyOption; public class MinioDownloadExample { public static void main(String[] args) { try { // 初始化 MinIO 客户端 MinioClient minioClient = MinioClient.builder() .endpoint("http://10.45.154.179:9000") // 替换为实际的 MinIO 服务地址 .credentials("minioadmin", "minioadmin") // 替换为实际的访问密钥和秘密密钥 .build(); // 设置存储桶名称文件夹路径和文件名 String bucketName = "test"; // 存储桶名称 String objectName = "folder/subfolder/example.txt"; // 文件夹路径和文件名 String downloadPath = "/path/to/save/example.txt"; // 下载路径 // 下载文件 Files.copy( minioClient.getObject( GetObjectArgs.builder() .bucket(bucketName) .object(objectName) .build() ), new java.io.File(downloadPath).toPath(), StandardCopyOption.REPLACE_EXISTING ); System.out.println("文件下载成功!"); } catch (Exception e) { System.err.println("文件下载失败: " + e.getMessage()); } } } ``` 上述代码中,`objectName` 参数包含了文件夹路径(如 `folder/subfolder/`)和文件名(如 `example.txt`),用于定位存储桶中的具体文件[^4]。 #### 2. 使用 MinIO 客户端工具 `mc` 下载特定文件夹下的文件 除了通过编程方式外,还可以使用 MinIO 提供的命令行工具 `mc` 来下载特定文件夹下的文件。以下是一个示例命令: ```bash /usr/local/bin/mc cp sytyminio/syty/folder/subfolder/example.txt /data_2/3-2/ ``` 此命令将从别名为 `sytyminio` 的 MinIO 服务器中,存储桶 `syty` 的 `folder/subfolder/` 文件夹下下载 `example.txt` 文件,并保存到本地路径 `/data_2/3-2/`[^1]。 #### 3. 配置 MinIO 别名 在使用 `mc` 工具之前,需要设置 MinIO 服务器的别名。以下是一个设置别名的命令示例: ```bash /usr/local/bin/mc alias set sytyminio http://10.45.154.179:9000 minioadmin minioadmin ``` 此命令设置了名为 `sytyminio` 的别名,指向 MinIO 服务器地址 `http://10.45.154.179:9000`,并使用访问密钥和秘密密钥进行身份验证[^1]。 #### 4. 注意事项 - 如果文件夹路径或文件名中包含特殊字符(如空格),需要对路径进行适当的转义处理。 - 确保 MinIO 服务器上的存储桶和文件夹路径存在,且客户端具有相应的读取权限。 - 在新版本的 MinIO 中,存储结构可能以二进制形式保存,因此需要通过客户端工具或 SDK 进行解码和读取[^1]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值