正则表达式为运行时执行Java做文件路径

时间:2018-07-16 14:42:50

标签: java regex

更多的问题是这是否可能,我怀疑是可能的。我在tomcat上部署了一个应用程序,并从Java代码中引用了一些python代码。我可以使用运行时exec来执行此操作,并使用硬编码的路径访问我的webapps文件夹,在该文件夹中还放置了python代码。

String pythonEntry = "C:\\apps\\tomcat\\webapps\\app_name##_version\\WEB-INF\\app-python\\my_python_file.py"

但是,我对此路径进行硬编码的问题是,每次有新版本时,“ ## _ version”都会更改。我可以使用正则表达式使它动态化,以便只查找“ app_name”文件夹而无需关心“ ## version”中的内容吗?

还是完全错误的方法?

1 个答案:

答案 0 :(得分:3)

您似乎在Tomcat中运行了JavaEE Web应用。

然后,您应该使用Servlet上下文相对路径(即,从/WEB-INF开始)。

ServletContext context = request.getServletContext();
String fullPath = context.getRealPath("/WEB-INF/app-python/my_python_file.py");

requestHttpServletRequest的地方。

更多信息可以在这里找到:ServletContext.getRealPath(java.lang.String)