记录下,备忘。
很多时候我们想知道正在执行的class文件或者jar所在的路径,以方便加载一些资源。下面的一些方法可以帮助到我们:
1 System.out.println(System.getProperty("user.dir"));
2 System.out.println(XXX.class.getProtectionDomain().getCodeSource().getLocation());
3 System.out.println(XXX.class.getProtectionDomain().getCodeSource().getLocation().getPath());
4 System.out.println(XXX.class.getProtectionDomain().getCodeSource().getLocation().getFile());
如果是在jar中:
1是程序执行的根路径,通常都是项目的路径;
2是jar所在的地址的uri形式,类似这样的:file:/D:/中间是目录/jar包名.jar;
3和4都是jar的地址,类似这样的:/D:/中间是目录/jar包名.jar;
如果是没被打包的class:
1和jar的情况一样;
2是class文件所在的根路径的uri形式,不包含包路径,类似这样的:file:/D:/中间是目录/bin/;
3和4则去掉了2中的file:,类似这样:/D:/中间是目录/bin/;
相关推荐
在实现SPI机制时,通常会用到一个关键的类ServiceLoader,它加载指定的服务接口,并通过迭代器模式返回服务接口的所有实现类的实例。ServiceLoader类的load()方法会首先检查服务接口的Class实例是否为null,如果是,...
这样就可以把之前用.net 开发的物资管理系统系统管理框架稍作修改后用到 JAVA 下,以后开发系统时,无论是用.net 还是用 java 都可以用同样的框架对用色权限等进行相关控制。 ClassUtil 工具类 我们可以使用一个名...
在资源管理器中,你需要用到如`JFrame`, `JPanel`, `JTree`, `JList`等组件来显示文件结构和选择文件。 3. **目录遍历**:使用`File`类的`listFiles()`方法可以获取指定目录下的所有文件和子目录。通过递归调用,...
1. guava-19.0.jar:Google的Guava库,提供了大量的Java核心库的实用功能,包括集合、缓存、并发、I/O等,这些功能在数据库连接中可能会用到。 2. jackson-databind-2.7.3.jar:Jackson库的数据绑定模块,用于将...
在Java编程中,读取资源文件是一项常见的任务,无论是在执行测试、加载配置还是处理静态内容时都会用到。资源文件可能包含配置信息、文本数据、图片或者任何其他需要在程序运行时访问的数据。本篇文章将详细介绍如何...
`DataSource.getConnection()`方法会根据配置加载正确的驱动并建立连接。 5. **错误处理与测试**: 为确保系统能正确处理不同版本的驱动,进行充分的单元测试和集成测试。在测试中,模拟不同的连接情况,如网络中断...
- Java可以使用相对路径或URL加载资源,如`ClassLoader.getResource()`方法。 6. **文件操作**: - 虽然本项目未明确提及,但游戏可能有保存和读取进度的功能。这就需要用到Java的I/O流,如FileInputStream和...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
10. **jar包与Java Web应用**:在Java Web应用中,jar包常用于封装Servlet、JSP、JavaBeans等组件,它们会被部署到应用服务器的类路径中。 以上就是关于Java jar包的一些关键知识点,它们是Java开发不可或缺的一...
此外,为了实现连贯的音乐播放,可能会用到AudioInputStream和Clip对象,以及它们的start()、stop()方法来控制音频播放。 资源文件通常包含图片、音频和其他非代码元素。在这个项目中,可能有用于绘制琴键的图像...
2. **使用`Resources`类**:`java.nio.file.Resources`类提供了一些静态方法,可以直接从类路径加载资源为`InputStream`、`Reader`或读取为字符串。例如: ```java InputStream in = Resources.getResource("path/...
Java集成Kettle所有Jar包是一项常见的任务,尤其对于那些在数据处理、ETL(提取、转换、加载)项目中使用Kettle(也称为Pentaho Data Integration或PDI)的开发者来说。Kettle是一个强大的开源数据集成工具,它提供...
- **CLASSPATH**:为Java加载类(`class`或`lib`)的路径。 #### 三、具体配置步骤 假设JDK安装路径为`C:\Program Files\Java\jdk1.6.0_21`。 1. **安装JDK**:首先安装JDK,并自定义安装目录等信息,例如选择安装...
在实际项目中,可能会用到一些库来简化工作,如Apache Commons Tree或者Guava的TreeMultimap。此外,如果你的项目涉及到大量数据,可能需要考虑性能优化,例如使用懒加载策略,只在需要时加载节点。 在提供的文件...
7. **数据结构和算法**:游戏地图的存储和加载可能需要用到数组、链表等数据结构。同时,为了优化性能,可能会使用到搜索算法(如广度优先搜索BFS)来查找路径。 8. **文件I/O**:游戏的存档和读取、资源配置等都...
在运行Java程序时,`sapjco3.dll`会被加载到Java虚拟机中,实现Java与SAP RFC的桥接。 要使用这些文件进行Java连接SAP RFC,开发者需要完成以下步骤: 1. **安装JCo库**:将`sapjco3.jar`添加到Java项目的类路径中...
在Java代码中,你可以使用Maven或Gradle等构建工具来管理这些依赖,或者手动将它们添加到项目的类路径中。如果使用Maven,可以在pom.xml文件中添加对应的依赖项。如果使用Gradle,可以在build.gradle文件中声明。 ...
1. **加载**:这是类加载的第一步,当程序需要用到一个类时(如创建对象或调用静态方法),JVM会找到对应的.class文件,将其读入内存,并生成一个Class对象,作为方法区中该类数据的入口。 2. **验证**:验证阶段是...
这里我们讨论分页加载,所以会用到`LIMIT`子句。例如,如果我们每页显示10条记录,第一页的SQL可能如下: ```java String sql = "SELECT * FROM your_table LIMIT ?, ?"; PreparedStatement pstmt = conn....