我正在尝试使用缓冲阅读器读取文件。如何读取给出相对路径的文件?
当我给出这条路径时,它工作正常:
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");