【问题标题】:In what circumstance file to be read should be put under the bin directory or src directory?什么情况下要读取的文件应该放在bin目录下还是src目录下?
【发布时间】:2015-08-21 07:22:21
【问题描述】:

我目前正在使用 eclipse 进行 Java 开发。 任何人都可以解释在使用 FileReader 之类的类时将文件放在 src 目录下的原因吗?有时在使用 getClass().getResourceAsStream("...") 之类的方法读取图像时,文件必须放在 bin 目录下?需要 src 目录下的文件的方法 getClass().getResourceAsStream("...") 是否有任何替代方法?

【问题讨论】:

    标签: java


    【解决方案1】:

    作为开发人员,您在 bin 目录中没有放置任何内容,您只在 srcresources 目录中放置内容,当 IDE(或任何其他构建工具)构建您的项目时,然后生成的类文件和其他资源放到bin目录下。

    位于bin 目录中的资源(后来捆绑在您的工件.jar.war 等中)在您的应用程序的classpath 中可用,并且可以由类加载器访问,从而使类能够被加载并允许您使用getClass().gerResourceAsStream() 查找资源。

    【讨论】:

    • 但是很多教程都使用getClass().gerResourceAsStream()方法从bin目录读取文件,那么应该改用哪个方法呢?
    • 从 bin 目录中读取文件 不正确,它用于从 classpath 读取,bin 目录在最终工件中不存在,例如.jar 文件(将您的项目导出为 jar 文件并使用您喜欢的 zip 文件管理器打开它,您会看到没有 bin 目录!)。因此,您需要了解位于应用程序的classpath 中的资源(您可以使用gerResourceAsStream())和位于filesystem 上的资源(您可以使用java.io.* 中的类)之间的区别,您可以在其中找到一个文件由您/您的要求决定。
    猜你喜欢
    • 2018-07-17
    • 2017-12-07
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 2013-12-31
    • 1970-01-01
    相关资源
    最近更新 更多