【发布时间】:2022-06-13 18:27:31
【问题描述】:
我正在编写一个需要从文本文件中读取数据的程序。
现在,打开我使用的文本文件
File readFile = new File("src/txtFile.txt")
我希望它不具体,这样当我将它发送给某人并且他们决定将我的 jar 和 txt 文件放在一个文件夹中时仍然可以在用户放置它的文件夹中找到它。
【问题讨论】:
-
("./txtFile.txt")不起作用吗? -
如果不想具体,让用户将路径作为参数传递
-
("./txtFile.txt") 不起作用。它说“线程中的异常”main“java.io.FileNotFoundException:.\txtFile.txt(系统找不到指定的文件)”
-
@Miles 在不编写适当的代码来处理这两种情况的情况下,两者兼有(即:从 IDE 启动它时工作,从 jar 启动它时工作)有点困难。您可以尝试从
./读取,如果它抛出FileNotFoundException,您可以从src/尝试,这样两种情况都会被考虑在内。但更好的是,正如 XtremeBaumer 建议的那样,要求用户提供文件的路径。 -
尝试调用
new File('.").getAbsolutePath()并将其显示在某处,以便了解Java 认为每个实例中的“基本”目录是什么。这将帮助您了解为什么找不到文件。
标签: java