当前位置: 首页 > 面试题库 >

Java,正在从当前目录读取文件?

上官自明
2023-03-14
问题内容

我想要一个Java程序,该程序从当前目录(运行.class文件的同一目录)中读取用户指定的文件名。

换句话说,如果用户将文件名指定为“ myFile.txt”,并且该文件已经在当前目录中:

reader = new BufferedReader(new FileReader("myFile.txt"));

不起作用。为什么?

我在Windows中运行它。


问题答案:

当前目录不是(不一定是).class文件所在的目录。它是进程的工作目录。(即:您启动JVM时所在的目录)

您可以从同一目录加载文件*与.class文件的getResourceAsStream()

。这将为您提供一个InputStream,您可以使用InputStreamReader将其转换为Reader

*请注意,根据加载类的位置,此“目录”实际上可能是jar文件。



 类似资料:
  • 在nodejs中,我使用__dirname。在戈兰,这相当于什么? 我在谷歌上找到了这篇文章http://andrewbrookins.com/tech/golang-get-directory-of-the-current-file/.他使用下面的代码 但是,这是正确的方式还是习惯的方式做在戈朗?

  • 问题内容: “ java”如何知道要执行的类文件而不设置类路径。即,默认情况下它是否签入当前目录,或者我们也需要为当前目录设置类路径。 问题答案: 它首先检查当前目录。如果找不到该类,它将在类路径中搜索该类。 默认的类路径是当前目录。设置变量或使用命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括在新设置中。[ 来源 ]

  • 问题内容: 我正在不同位置运行jar文件,并且试图弄清楚如何获取正在运行的jar文件的位置。 问题答案: 这不是一个完美的解决方案,但这将返回类代码库的位置:

  • 问题内容: 我想使用以下命令访问我当前的工作目录 输出: 我的输出不正确,因为C驱动器不是我的当前目录。在这方面需要帮助。 问题答案: 这将从您的应用程序初始化位置打印出完整的绝对路径。

  • 首先,我看到了这个话题,但我不能理解。 问题: 我做错了什么?

  • 问题内容: 在Python中,我可以使用哪些命令来查找: 1.当前目录(运行Python脚本时我在终端中的位置) 2.我正在执行的文件在哪里? 问题答案: 要获取包含Python文件的目录的完整路径,请在该文件中写入以下内容: (请注意,如果你已经习惯于更改当前的工作目录,则上述方法将不起作用,因为常量的值是相对于当前的工作目录而言的,并且不会被调用更改。) 要获取当前的工作目录,请使用 上面使用