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如何决定它需要考虑哪个文件。我们有以下两种选择
使用绝对路径 - 第一个选项是为 Java 程序提供绝对路径,以便它可以使用该路径简单地创建一个对象。
使用相对路径 - 当我们使用相对路径时,java 只搜索类路径中的文件,默认情况下是当前工作目录,即您的项目根目录文件夹。
如果您想使用相对路径,请确保它位于类路径中。
否则请确保提供程序的绝对路径。
为程序提供任何文件名并期望 java 找出绝对文件路径是不正确的。
不用说,您的扫描仪对象必须是正确的。
我一直在研究这种打开文件并将其内容读入 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如何决定它需要考虑哪个文件。我们有以下两种选择
使用绝对路径 - 第一个选项是为 Java 程序提供绝对路径,以便它可以使用该路径简单地创建一个对象。
使用相对路径 - 当我们使用相对路径时,java 只搜索类路径中的文件,默认情况下是当前工作目录,即您的项目根目录文件夹。
如果您想使用相对路径,请确保它位于类路径中。
否则请确保提供程序的绝对路径。
为程序提供任何文件名并期望 java 找出绝对文件路径是不正确的。
不用说,您的扫描仪对象必须是正确的。