如何使用Java访问读写资源
在过去,我将我的“resources”目录作为源文件夹(因此我的资源最终打包在最终的JAR中),并使用如何使用Java访问读写资源,java,resources,Java,Resources,在过去,我将我的“resources”目录作为源文件夹(因此我的资源最终打包在最终的JAR中),并使用classLoader.getResource()检索资源。但是,这只适用于阅读资源,而不适用于编写资源 阅读和写作资源的推荐访问方式是什么?我知道以下方法,但两者都有缺点: System.getProperty(“user.dir”)-这取决于从特定工作目录运行程序的用户 System.getProperty(“user.home”)-这取决于安装到用户主目录的资源 尝试getClass().
classLoader.getResource()
检索资源。但是,这只适用于阅读资源,而不适用于编写资源
阅读和写作资源的推荐访问方式是什么?我知道以下方法,但两者都有缺点:
System.getProperty(“user.dir”)
-这取决于从特定工作目录运行程序的用户System.getProperty(“user.home”)
-这取决于安装到用户主目录的资源getClass().getResource(路径)代码>
getClass().getResource(path)
使用类加载器加载资源。类路径中的资源可以通过这种方式加载。
假设你有一个目录
MyApplication
1.Class1.java
2.Class1.java
3.file.txt
例如,要获取上面的文本文件,您可以作为访问它。
请允许我将您链接到一个文档,您可以在其中看到如何读取和写入属性,您可以从中获取代码:
关于我几分钟前写了我的回复,假设您正在编写一个应用程序,(控制台?、Swing?),请更具体一些。我正在编写一个游戏。为什么它使用console/Swing/etc很重要?我想知道如果您正在编写后端应用程序(servlet、DAOs、ejb等),那么建议另一种解决方案的方法会有所不同。
File file = new File(getClass().getResource("file.txt").toString());