如何在java

时间:2016-08-11 11:19:27

标签: java

我正在使用Files.walk函数来获取主目录的子目录中存在的文件。例如:

/path/to/stuff/foo/bar1/myfile.sql
/path/to/stuff/foo/bar1/myfiles.sql
/path/to/stuff/foo/bar2/myfile.sql
/path/to/stuff/foo/bar3/myfile.sql
/path/to/stuff/foo/bar4/myfile.sql
/path/to/stuff/foo/bar5/
/path/to/stuff/foo/bar6/myfile.sql
/path/to/stuff/foo/bar7/myfile.sql
/path/to/stuff/foo/bar8/myfile.sql
/path/to/stuff/foo/bar9/myfile.sql

这是我的代码:

Files.walk(Paths.get("/path/to/stuff")).forEach(filePath -> {
            if (Files.isRegularFile(filePath)) {
                buildFiles();
            }
            });

在buildFiles中我需要获取文件名和子文件名,并将其作为文件名示例循环1:path=/path/to/stuff/foo/bar1/myfile.sql,文件名应为foo_bar1.sql。我该怎么做?

1 个答案:

答案 0 :(得分:0)

您必须使用路径创建文件。这将有助于您管理您的文件。我想你想知道是否用

创建一个文件
  

新文件()

不会覆盖您的文件。不要担心它会赢得它会有助于对你的文件进行某种java引用。

    Files.walk(Paths.get("/path/to/stuff")).forEach(filePath -> {
                     if (Files.isRegularFile(filePath1)) {
                     File file1 = new File(filePath1);
                     String folderName = file.getName();
                     Files.walk(Paths.get("/path/to/stuff"+folderName)).forEach(filePath2 -> {
                           if (Files.isRegularFile(filePath2)) {
                           File file2 = new File(filePath2);
                           String subFolderName = file2.getName();
                           String result = folderName+subFolderName+".sql";
                           builFiles(result)
                          }
                     });
                  }
               });