我正在尝试使用缓冲读取器读取文件.如何提供文件的相对路径?



我正在尝试使用缓冲阅读器读取文件。如何读取给出相对路径的文件?

当我给出这条路径时,它工作正常:

File file = new File("/home/workspace_ag7_tmv/Message Router/environments/wb/conf/subscriber_content_restriction.conf");

现在当我尝试这样做时:

File file = new File("AG_HOME/conf/subscriber_content_restriction.conf");
AG_HOME = "/home/workspace_ag7_tmv/Message Router/environments/wb/"

这个AG_HOME路径,在 eclipse 的调试配置中定义。

当我跑步时,FilenotFould exception.

有什么办法可以做同样的事情吗?

File file = new File("AG_HOME/conf/subscriber_content_restriction.conf");
AG_HOME = /home/workspace_ag7_tmv/Message Router/environments/wb/"

在附加的代码中,使用变量的名称,而不是值。

如果AG_HOME也是一个系统变量,你可以从系统(System.getenv("AG_HOME")(中获取它的值。如果它是由 eclipse 在运行时会话范围内声明的,请浏览 Eclipse 运行时 API 以访问其变量。

如果你只需要给出文件的相对路径而不关心路径变量,那么File file = new File("subscriber_content_restriction.conf");应该足够了,subscriber_content_restriction.conf在编译期间必须位于类路径中。或者,如果您使用的是maven,请将其置于src/main/resources下。

如果上面的风格是强制性的,那么也许你应该这样做

File file = new File(AG_HOME+"/conf/subscriber_content_restriction.conf");

最新更新