【问题标题】:jsp web application relative pathjsp web应用程序相对路径
【发布时间】:2012-05-30 11:30:21
【问题描述】:

我想通过 Eclipse 在 AWS Java Web 项目的 Java 类中打开一个文件。

我的文件在一个名为“res”的文件夹中

我试过了

BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("res\\txtFile.txt"), "UTF-8"));

但不工作!

我明白了

java.io.FileNotFoundException: res\txtFile.txt(系统 找不到指定的路径)

【问题讨论】:

  • 你能展示你的项目目录结构吗?
  • 你应该更具体。 “不工作”可以是任何东西。
  • @kukudas FileNotFoundException
  • @adarshr 默认结构 > WebContent src build 我添加了 res.源代码
  • 在 src\package1\candidateKP.java 中包含此代码的 java 类

标签: java eclipse jakarta-ee amazon-web-services relative-path


【解决方案1】:

如果文件在 weapp 中,则需要 ServletContext.getResourceAsStream 或 Class.getResourceAsStream。如果它在文件系统的其他地方,您可能应该使用绝对路径。您使用的相对路径是相对于您的应用服务器启动的目录解析的,可能不是您想要的。

【讨论】:

  • 它是 java aws web 项目中的一个 java 类。我不能使用 ServletContext。如果 res/txtFile.txt 中的文件和 src/package1/CandidateKP.java 中的 java 类,我该如何使用 Class.getResource()
  • 战争中的道路才是最重要的。如果您的战争在 /WEB-INF/classes/res/txtFile.txt 和 /WEB-INF/classes/package1/CandidateKP.Java 中有这些文件,您将使用 Class.getResourceAsStream("/res/txtFile.txt")
【解决方案2】:

我解决了!!

使用此代码在任何地方获取项目的绝对路径

  String AbsolutePath = new File("").getAbsolutePath();

然后添加你需要的相对路径。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-30
    • 2011-01-24
    • 2013-10-25
    • 1970-01-01
    • 2017-05-29
    相关资源
    最近更新 更多