Z寒火 2023-12-11 09:02 采纳率: 56%
浏览 11
已结题

java文件路径问题

D:\dj1000_v2.0_JiNing\src\gui\XCFsys\src\com\kh\TestService.java下

public static void main(String[] args) {
        System.out.println(new File("conf/jdbc.properties").getAbsoluteFile());
}

输出D:\dj1000_v2.0_JiNing\src\gui\conf\jdbc.properties
而D:\toolkit\src\gui\XCFsys\src\com\kh\TestService.java下同样代码
输出D:\ToolKit\conf\jdbc.properties
刚开始是

new File("../conf/jdbc.properties")

但是输出D:\dj1000_v2.0_JiNing\src\gui..\conf\jdbc.properties压根就没有这个路径

  • 写回答

2条回答 默认 最新

  • &春风有信 2023-12-11 09:14
    关注

    在Java中,new File("../conf/jdbc.properties") 这段代码的意思是,创建一个新的File对象,其路径是当前路径的"../conf/jdbc.properties"。其中".."表示父目录,所以 "../conf/jdbc.properties" 指的是上一级目录下的"conf"文件夹中的"jdbc.properties"文件。

    你说在D:\dj1000_v2.0_JiNing\src\gui\XCFsys\src\com\kh\TestService.java下这段代码输出的结果是 D:\ToolKit\conf\jdbc.properties,这说明你的程序在尝试寻找 D:\ToolKit\conf\jdbc.properties 这个文件,而不是你期望的 D:\dj1000_v2.0_JiNing\src\gui\conf\jdbc.properties。这可能是因为你的程序在运行时,其工作目录并不是你预期的目录。

    你可以试试以下方法解决你的问题:

    使用绝对路径,而不是相对路径。如 new File("D:\dj1000_v2.0_JiNing\src\gui\conf\jdbc.properties")。
    打印出你的程序的工作目录,以确定你的程序当前在哪个目录下运行。你可以使用 System.out.println(System.getProperty("user.dir")); 来打印当前的工作目录。
    检查你的IDE或构建工具(如Maven或Gradle)是否正确地设置了项目的结构和路径。
    确保你的 jdbc.properties 文件实际上是在 D:\dj1000_v2.0_JiNing\src\gui\conf\ 这个目录下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月27日
  • 已采纳回答 12月27日
  • 创建了问题 12月11日

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?