Java: 为什么我的代码读取和保存的是文件路径而不是文件的实际内容?

Java: Why is my code reading and saving the file path and not the actual contents of the file?

我一直在研究这种打开文件并将其内容读入 ArrayList 的方法。出于某种原因,它在 ArrayList 中存储文件路径而不是文件内容!

text = new MyArrayList<>();
try (Scanner s = new Scanner(new File(fileName).getAbsolutePath())) {
  while (s.hasNext()) {
    text.add(s.next());
  }
}

能不能帮我看看哪里错了,谢谢!

P.S。 MyArrayList 是我自己实现的 ArrayList,它作为 ArrayList 使用。

当我们处理 java 中的文件时,我们必须非常具体地说明我们正在讨论的文件。

在你的整个文件结构中可能有多个同名文件,java如何决定它需要考虑哪个文件。我们有以下两种选择

  1. 使用绝对路径 - 第一个选项是为 Java 程序提供绝对路径,以便它可以使用该路径简单地创建一个对象。

  2. 使用相对路径 - 当我们使用相对路径时,java 只搜索类路径中的文件,默认情况下是当前工作目录,即您的项目根目录文件夹。

如果您想使用相对路径,请确保它位于类路径中。

否则请确保提供程序的绝对路径。

为程序提供任何文件名并期望 java 找出绝对文件路径是不正确的。

不用说,您的扫描仪对象必须是正确的。