为了账号安全,请及时绑定邮箱和手机立即绑定

Java Scanner 无法仅读取文件名

Java Scanner 无法仅读取文件名

智慧大石 2023-03-23 14:11:34
我正在制作一个 Java 程序来从 .csv 文件中读取一些分数并计算这些分数的平均值。要从文件中读取,我使用的是 Scanner 类。首先,我创建了一个扫描仪来读取我的文件:Scanner scanner = new Scanner(new File("TempFile.csv"));我希望它能工作,但它返回一个 FileNotFoundException。因此,我用文件的绝对文件名替换了 TempFile.csv。Scanner scanner = new Scanner(new File(C:\\Users\....));这给了我想要的结果,并且我能够解析文件。我是 Java 的新手,但我知道使用绝对文件名是不好的做法。我怎样才能只使用短文件名?
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

Scanner scanner = new Scanner(new File (new File("TempFile.csv").getAbsolutePath()));

使用上面。


查看完整回答
反对 回复 2023-03-23
?
POPMUISE

TA贡献1765条经验 获得超5个赞

“TempFile.csv”是一个相对路径。它是相对于你的 java 程序的工作目录的。该目录是属性“user.dir”的值System。以下代码行为您提供了该值...

String workingDirectory = System.getProperty("user.dir");

因此,如果您得到FileNotFoundException,则可能意味着文件“TempFile.csv”不在您的 Java 程序的工作目录中。

顺便说一下,自 java 8 以来,类java.nio.file.Files包含方法readAllLines。因此,如果文件“TempFile.csv”不是太大,readAllLines则可能是 class 的更简单替代方案Scanner。请注意,在调用该方法时,您仍然需要提供文件的正确路径。


查看完整回答
反对 回复 2023-03-23
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信