【问题标题】:Access path of a file in java arrayjava数组中文件的访问路径
【发布时间】:2020-06-10 17:11:51
【问题描述】:

我正在使用一个文件数组。

String[] allFiles = new String[]{"real.xml", "fake.xml"}; 

我收到这个错误

java.nio.file.NoSuchFileException: C:\Users\rio\rio-workspace\real.xml

我正在尝试运行命令以了解它在哪里寻找文件。我遇到了这个解决方案,但它不适用于数组。

System.out.println(allFiles.toAbsolutePath());

如果有人给出正确的命令来了解这个问题,我们将不胜感激。

谢谢

【问题讨论】:

  • 请分享您所做的示例代码,并让您的问题更加清晰
  • 所有相关文件均由System.getProperty("user.dir");中的值填写

标签: java directory path


【解决方案1】:

按如下方式进行:

import java.nio.file.Paths;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        String[] allFiles = { "output.txt", "test.txt" };

        // First method
        for (String file : allFiles) {
            System.out.println(Paths.get(file).toAbsolutePath());
        }

        // Second method (by using Stream)
        Arrays.stream(allFiles).forEach(file -> System.out.println(Paths.get(file).toAbsolutePath()));
    }
}

【讨论】:

    【解决方案2】:

    所有相关文件均由System.getProperty("user.dir");中的值填写

    【讨论】:

      【解决方案3】:

      一个例子

      File[] thoseFiles = new File(System.getProperty("user.dir")).listFiles();
      for (int i = 0; i < thoseFiles.length; i++) {
          System.out.println(thoseFiles[i].getAbsolutePath());
      }
      

      或者,如果您选择将文件放在文件夹中

      File[] thoseFiles = new File("ThatFolder").listFiles();
      for (int i = 0; i < thoseFiles.length; i++) {
          System.out.println(thoseFiles[i].getAbsolutePath());
      }
      

      这可以用Filefilter扩展

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多