- 问题重现:在几天前忙于一个急於上线的项目就没来得及分析总结现在空下来了就好好整理一下,事情是这样的那天我在
src
下新建了一个类型为Source Folder
的resource
资源文件夹(项目中還没有此类文件夹),然后再通过一个工具类获取resource
下的文件当时是使用代码XXX.class.getClassLoader().getResource(filePath)
java获取文件绝对路径,在本机上测试没有问题接下来上传代碼到 SVN,项目经理测试功能发现使用上述代码获取不到文件,然后仔细看了一下从 SVN 上更新下来的代码发现resource
文件夹标志和我本地的不一样。我本机的是从 SVN 下更新下来的是,后面试着将 SVN 下更新下来的该文件夹进行重命名为Source Folder
类型的文件夹就能获取到了
??问题背景就描述到這里,接下来就有一个疑问:为什么将该资源文件夹上传 SVN 后就不是资源文件夹(Source Folder)了而变成了文件夹(Folder) ?
这就造成了项目经理在更噺项目后,项目不知道 resource 是资源文件夹就给当成了文件夹处理。
??后来想了想在Java 项目中通过上述的方式java获取文件绝对路径可靠吗?在 Java Web 項目中有哪些java获取文件绝对路径的方式
??带着这两个问题从网上找到了答案,然后自己又经过一番测试发现通过上述代码java获取文件绝對路径是可靠的(我那个文件是配置文件不会改动)。
??首先是我新建一个 Java Web 项目准备测试环境,目录结构如下:
编写测试类java获取文件绝对路径路径:
获取 Webroot 下文件路径主要是通过上下文和request进行获取这块就就演示了,有很明显的方法