提问人:Liferafter 提问时间:11/18/2021 更新时间:11/18/2021 访问量:253
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。
答:
0赞
Dave Sessional
11/18/2021
#1
当我们在 java 中处理文件时,我们必须非常具体地说明我们正在谈论的文件。
整个文件结构中可能有多个同名文件,java 如何决定需要考虑哪个文件。我们有以下两种选择
使用绝对路径 - 第一个选项是提供 Java 程序的绝对路径,以便它可以简单地使用该路径创建对象。
使用相对路径 - 当我们使用相对路径时,java 只搜索类路径中的文件,默认情况下,类路径是当前工作目录,即您的项目根文件夹。
如果要使用相对路径,请确保它位于类路径中。
否则,请确保提供程序的绝对路径。
给程序提供任何文件名并期望 java 找出绝对文件路径是不对的。
毋庸置疑,您的扫描仪对象必须正确。
评论
System.out.println(new File(fileName).getAbsolutePath());
getAbsolutePath()
File
Scanner
getAbsolutePath
File
File
File
Scanner
String