我正在开发一个SpringMVC项目,该项目在数据库上运行许多自动化测试。此数据库的访问详细信息位于.properties文件中。该文件位于项目目录中。
FileInputStream fis = new FileInputStream("batch-dm.properties");
propFile = new Properties();
propFile.load(fis);
由于文件存储在项目目录中,FileInputStream应该能够访问它吗? 如果我提供绝对路径,例如
FileInputStream fis = new FileInputStream("C:/workspace/Project/batch-dm.properties");
它识别文件并正常运行。 我是否需要在不同的位置疼痛这个文件,因为它是一个Spring MVC项目? 感谢
答案 0 :(得分:0)
请参阅以下链接:
https://stackoverflow.com/a/2308388/1358551
您可能必须使用getResourceAsStream()。
答案 1 :(得分:0)
为了清除你的想法,试着看看输出System.getProperty("user.dir")
(让我们称之为A)的价值是什么,这将打印完整的绝对路径初始化应用程序的位置,更具体地说,它将打印JVM启动的目录。
如果您没有提供您尝试打开的文件的父路径,则默认采用(A)路径,并在该目录中查看该文件。所以,请记住。
如果您绝对需要该文件,则应将其包含在项目中,以便可以将其作为资源进行访问。资源是一个包含在项目中的文件,与生成的.jar或.war捆绑在一起以便重新分发。
我的建议是将文件放在软件包中,并将其用作资源,因为它可以更安全地处理项目附带的外部资源。
深入了解this帖子,了解有关处理资源的实用方法的更多信息。