程序中很多时候需要使用诸如配置文件等类似的资源文件,需要读入这些文件,获取其中的内容并在程序中使用。这就涉及到如何在程序中定位文件的问题。本文介绍java中常用的定位文件的方法。
1. 获取文件的URL
URL url = Main.class.getResource("te st.properties");
或者
URL url = Main.class.getClassLoader().getResource("te st.properties");
上面两个方法其实是一样的,都是调用ClassLoader的方法。
需要注意的是:URL是有编码方案的,通过上面的方法获得的url跟底层的编码方案有关系。注意资源文件名称te st.properties
这段代码在tomcat6下运行,得到的url是file:/D:/dev/workspace/AT/WebRoot/WEB-INF/classes/te st.properties
但是在tomcat7下运行,得到的url是file:/D:/dev/workspace/AT/WebRoot/WEB-INF/classes/te%20st.properties 空格被替换为%20这个地址不能直接作为File的参数去获得File对象的。
可以通过URLDecoder来对URL解码,以便得到我们在java环境下能够正常使用的url字符串。
URLDecoder decoder = new URLDecoder();
String nurl = decoder.decode(url.toString());
上面的代码使用了被废弃的方法,jdk推荐使用带解码编码方式参数的解码方法,这里由于不清楚我们调用ClassLoader的getResource方法时是怎么给URL编码的(以后再详细了解),所以无奈使用了这个废弃的方法。
2. 获得输入流
比起获得文件的URL来说,我觉得,获得输入流的方式更加好些,因为这样避免了由于URL编码问题造成的不同环境下运行时的问题。
InputStream is = Main.class.getResourceAsStream("te st.properties");
或者
InputStream is2 = Main.class.getClassLoader().getResourceAsStream("te st.properties");
这种方式,无论在什么环境下,都能得到此资源文件的输入流。
分享到:
相关推荐
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...
用于获取apk文件资源文件 将需要反编译的APK文件放到该目录下,打开命令行界面(运行-cmd) ,定位到apktool文件夹,输入以下命令:java -jar apktool.jar decode test.apk (命令中test.apk指的是要反编译的apk...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...
2、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 如果是汉化软件,这将特别有用 步骤:下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,...
210 11.4.3 挂起线程 212 11.4.4 线程间的通信 212 习题 213 第12章 Java的网络功能 216 12.1 概述 216 12.1.1 基本概念介绍 216 12.1.2 使用InetAddress 217 12.2 统一资源定位器 218 12.2.1 统一...
状态和性能信息:日志文件可以记录应用程序的状态和性能信息,如请求响应时间、数据库查询耗时、资源使用情况等。这些日志对于分析系统性能和优化应用程序非常有帮助。 安全审计:日志文件可以记录用户的操作行为、...
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...
10.7.1 定位资源包 10.7.2 属性文件 10.7.3 包类 10.8 一个完整的例子 第六章 高级Swing 6.1 列表 6.1.1 JList构件 6.1.2 列表模式 6.1.3 插入和移除值 6.1.4 值的绘制 6.2 表格 6.2.1 简单表格 6.2.2 表格模型 ...
FirstJava2高效java/jsp编辑开发工具的配套教材. 这个工具是完全免费的Java/jsp开发工具FirstJava2,绿色软件,无需安装,主要给java初学者和一般的个人开发者使用,使...请输入关健词:FirstJava2 www.csdn.net 资源下载
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
Java语言教程,共十一章。...10.2 使用URL定位资源 10.3 Socket通信 10.4 数据报通信 10.5 协议处理机 10.6 用Java实现加密 第11章 数据库编程 11.1 数据库基本理论 11.2 SQL和JDBC简介 11.3 数据库程序设计
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...