你真的应该使用类加载器来使用

getResource()或

getResourceAsStream()这样的东西.特别是,这些方法使用ClassLoader来确定项目中资源的搜索上下文.

指定类似getClass().getResource(“lib / txtfile.txt”)的内容以获取文本文件.

澄清:而不是考虑如何获取资源的路径,而应该考虑获取资源 – 在这种情况下是某个目录中的文件(可能在JAR中).在这种情况下,没有必要知道一些绝对路径,只有一些URL来获取文件,ClassLoader将为您返回此URL.如果要打开文件流,可以直接执行此操作,而无需使用getResourceAsStream来处理URL.

您尝试通过ClassLoader访问的资源需要位于Class-Path(在JAR文件的Manifest中配置).这很关键! ClassLoader使用Class-Path来查找资源,因此如果在Class-Path中没有提供足够的上下文,它将无法找到任何内容.如果你添加. ClassLoader应解决JAR内部或外部的任何问题,具体取决于您如何引用资源,尽管您当然可以更具体.

参考前缀为a的资源.将导致ClassLoader也在JAR之外查找文件,而不为资源路径添加句点前缀将指示ClassLoader仅在JAR文件内查找.

这意味着如果你在一个名为foo.txt的目录lib中的JAR中有一些文件,并且你想获得资源,那么你将运行getResource(“lib / foo.txt”);

如果相同的资源在JAR之外,则运行getResource(“./ lib / foo.txt”);

JAVA的项目文件夹_Java中Project项目文件夹的绝对路径相关推荐

  1. java 创建文件夹的方法_java中创建文件夹的方法

    java中创建文件夹的方法 发布时间:2020-06-10 11:46:49 来源:亿速云 阅读:461 作者:Leah 这篇文章给大家分享的是java中创建文件夹的方法.小编觉得挺实用的,因此分享给 ...

  2. java命令 jar文件夹_java中jar命令打包一个文件夹下的所有文件

    (1)首先,必须保证java的所有路径都设置好,在dos提示符下输入jar -help 出现C:\Documents and Settings\dly>jar -help 非法选项:h 用法:j ...

  3. java 文件流 重写_java中关于文件流的总结

    [File类] 1. 作用: 用于对磁盘文件进行操作. 删除.创建等. 2. 三种常用的构造函数: ① File file1 = new File("F:\\test"); 直接传 ...

  4. java多线程 文件夹_Java多线程遍历文件夹,广度遍历加多线程加深度遍历结合

    复习IO操作,突然想写一个小工具,统计一下电脑里面的Java代码量还有注释率,最开始随手写了一个递归算法,遍历文件夹,比较简单,而且代码层次清晰,相对易于理解,代码如下:(完整代码贴在最后面,前面是功 ...

  5. java 文件目录是否存在_java中判断文件目录是否存在的方法

    java中判断文件目录是否存在的方法 发布时间:2020-06-23 09:34:47 来源:亿速云 阅读:72 作者:Leah 本篇文章展示了java中判断文件目录是否存在的方法具体操作,代码简明扼 ...

  6. java smb跨服务器_Java中SMB的应用

    目录 SMB 服务操作 Ⅰ SMB简介 Ⅱ SMB配置 2.1 Windows SMB Ⅲ 添加SMB依赖 Ⅳ 路径格式 Ⅴ 操作共享 Ⅵ 登录验证 SMB 服务操作 Ⅰ SMB简介 ​ SMB(全称 ...

  7. java生成文件夹_java 文件和文件夹的创建

    File类的常见方法 1.创建. boolean createNewFile(); //创建文件 boolean mkdir();创建文件夹 boolean mkdirs();创建多级文件夹. 2.删 ...

  8. java可以多重继承吗_Java中的多重继承与组合vs继承

    java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章. 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处. Java中的多重继承 多重继承是创建具有多个超类的单个类的能 ...

  9. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

最新文章

  1. 自己如何写mysql数据库_如何写一个属于自己的数据库封装(4)
  2. python变量如何使用,python如何使用变量
  3. css动画之旅--弹性菜单效果
  4. 【云栖直播】精彩推荐第3期:个性化推荐系统搭建实践
  5. 数字风控全流程 实操课程V2.0 第三期
  6. 信号检测与判决的五大准则
  7. 【深入理解JS核心技术】13. 什么是高阶函数
  8. 最新彩虹DS仿小储云模板源码
  9. 【自动驾驶】PID实现轨迹跟踪
  10. 移动网络安装测试软件,家宽众测中国移动手机版(在线宽带网速测试器)V2.0.3 去广告版...
  11. 将字符串中大写转小写,小写转大写
  12. 多元正态分布的后验采样
  13. SD miniSD microSD TF CF MMC XD-Picture卡 SDIO CE-ATA SDHC SDXC
  14. Horizon Daas TA设备FDB 或 EDB 数据不一致问题
  15. vue 自适应屏幕的宽高度
  16. 苹果健康的“人民战争”
  17. 用php制作网页留言板的分页
  18. 陕西省高校大学生知识产权知识技能大赛第一次培训笔记
  19. Windows11时钟显示秒数的方法
  20. Web学习历程记录(七)——Tomcat

热门文章

  1. linux系统怎么安装cas,CAS 在Linux中安装与配置
  2. 2016级算法期末模拟练习赛-B.AlvinZH的青春记忆I
  3. FCC 中级算法题 Where art thou
  4. 设计模式-15-建造者模式
  5. 重温Android中的消息机制
  6. 黑马 程序员——Java基础---IO(下)
  7. [ios] iOS中arc的设置与使用
  8. 程序员面试HR你该看重什么?!
  9. mysql完全手册阅读笔记
  10. 一个符号引发的讨论,对抗攻击算法FGSM的纯粹版:FGNS,附代码