2015-07-20 46 views
0

过去,我已将我的“资源”目录作为源文件夹(因此我的资源最终打包在最终的JAR中),并使用classLoader.getResource()检索资源。但是,这只适用于阅读资源,而不是编写它们。如何访问Java中的阅读和写作资源

访问阅读和写作资源的推荐方式是什么?我知道下面的方法,但都有缺点:

  1. System.getProperty("user.dir") - 这依赖于用户从一个特定的工作目录运行程序。
  2. System.getProperty("user.home") - 这取决于将资源安装到用户的主目录。
+0

我写了几分钟前的回复,假设你正在编写一个应用程序,(控制台?,Swing?),请更具体一些。 –

+0

我正在写一个游戏。为什么它使用控制台/ Swing /等? – Dan

+0

我想知道你是否正在编写后端应用程序(Servlets,DAOs,EJB等),那么这种方法会有不同,以提出另一种解决方案。 –

回答

1

尝试getClass().getResource(path);

getClass().getResource(path)使用的类加载器加载资源。通过这种方式可以加载类路径中的资源。 假设你有一个目录。

所有MyApplication
1. Class1.java
2. Class1.java
3. file.txt的
例如获得文本文件上面,你可以访问它。

File file = new File(getClass().getResource("file.txt").toString()); 
+0

设置您的答案的格式 – CoderNeji