`
maimode
  • 浏览: 415711 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java资源文件定位

 
阅读更多

程序中很多时候需要使用诸如配置文件等类似的资源文件,需要读入这些文件,获取其中的内容并在程序中使用。这就涉及到如何在程序中定位文件的问题。本文介绍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 读取资源文件

    在Java编程中,读取资源文件是常见的任务,特别是在配置应用程序、处理文本数据或加载本地化内容时。本文将深入探讨如何使用Java读取资源文件,特别是properties类型的文件。 资源文件通常存储在项目的类路径...

    java解析资源文件

    首先,理解资源文件的定位。在Java应用中,资源文件通常位于`src/main/resources`目录下(对于Maven或Gradle项目)。这些文件会被构建工具自动打包到最终的JAR或WAR文件中,以便于程序运行时访问。 1. **访问资源...

    java文件路径获取

    - **Classpath**: 是Java运行环境的一个重要概念,它指定了Java虚拟机(JVM)加载类和资源文件的路径。 - **Resource**: 在Java中通常指的是类路径下的文件,如配置文件、图片等非可执行代码的文件。 - **URL**: ...

    java PDF关键字定位

    本篇文章将深入探讨如何使用iText库在Java中实现PDF关键字定位。iText是一个强大的PDF处理库,它提供了丰富的API来创建、编辑和读取PDF文档。 首先,我们需要在项目中引入iText库。你提到的`itextpdf-5.5.6.jar`是...

    java 随机读写Java类文件

    10. **学习资源**:理解类文件格式的官方文档是《Java Virtual Machine Specification》,而深入学习`RandomAccessFile`可以查阅Java API文档。此外,相关的书籍和在线教程也能提供深入的理论和实践指导。 总之,...

    Java单文件编译器

    不过,通过一些工具,如Java的jar打包命令,可以将多个类文件和依赖资源打包成一个.jar文件,模拟出类似C#的单文件执行效果。 在本例中,提供的"Java批处理执行.exe"可能是一个用于自动化Java编译过程的批处理脚本...

    java class文件查看工具

    - **资源定位**:帮助开发者找到类文件在项目中的位置,对于大型项目尤其有用。 3. **常见查看工具** - **JAD (Java decompiler)**:一款广受欢迎的反编译器,可以将字节码转换为接近原始的Java源代码。 - **JD-...

    java使用JMAP定位代码内存泄漏在哪

    1. **生成堆转储文件**:通过`jmap -dump:format=b,file=<filename> <pid>`命令,我们可以从运行中的Java进程生成一个heap dump文件,这个文件包含了Java堆内存的所有信息。 2. **查看堆概要**:`jmap -histo:live ...

    java 解析 chm 文件

    主索引(INDEX.CHM)用于快速定位文件,而目录(TOC.PND)定义了文件的组织结构。此外,还有一个HTML内容文件列表(FILES.HHXT)以及一个或多个数据块(HHF)存储实际的HTML内容。 2. **Java库**:Java社区开发了...

    java下载文件到指定路径(不打开窗口)

    - `java.net.URL`:用于表示统一资源定位符(Uniform Resource Locator),可以用来封装一个具体的网络资源地址。 - `java.net.URLConnection`:该类提供了一个通用框架来访问网络上的对象。`URL`类的`open...

    javacv图片文字定位 https://blog.csdn.net/qq_37307077/article/details/111408748

    在给定的"imageOcr"文件中,可能包含了示例代码、测试图像以及配置文件,你可以参考这些资源来搭建和运行一个简单的文字定位系统。通过实践和调试,你可以不断优化你的OCR应用,提高文字检测和定位的准确性和速度。 ...

    java 文件查看器

    JAR是Java平台的标准归档格式,用于将多个Java类文件、资源文件和元数据打包到一个单一的文件中。这有助于减少网络传输的时间,同时还可以实现版本控制和安全特性,如数字签名。 2. **查看JAR包内容**: 通常,...

    java 淘宝IP定位查询

    以下将详细介绍如何在Java环境中调用淘宝IP定位查询接口,并进行测试使用。 首先,我们需要了解淘宝IP定位查询接口的基本原理。这个接口通常会根据提供的IP地址返回包含地理位置信息的数据,如城市、省份、国家等。...

    java web文件上传-下载-查看操作

    1. **定位文件**:在服务器端,确定要提供下载的文件路径。 2. **设置响应头**:使用`HttpServletResponse`设置响应头,包括`Content-Disposition`(指示浏览器如何处理响应)和`Content-Type`(指定文件类型)。 3....

    Java 关键字定位位置

    在Java编程中,关键字定位位置是一项重要的技能,特别是在处理PDF文档时。PDF(Portable Document Format)文件格式广泛用于存储和共享文档,而Java提供了一系列工具和技术来解析和操作这种文件。在这个场景中,我们...

    Java文件切割器源代码

    4. **文件定位与分割**:切割文件时,需要知道分割点,这可以通过文件的字节数来确定。例如,可以设置每份文件的大小,然后读取文件,每次读取到设定大小时创建新文件继续写入。 5. **异常处理**:文件操作中可能...

    JAVA 资源定位

    总结来说,Java资源定位涉及了如何在程序中找到并访问非代码元素,这包括使用类加载器的方法、`ResourceBundle`进行国际化、以及Spring框架提供的高级工具。理解并熟练掌握这些方法,将有助于构建更加健壮和灵活的...

    java class文件查看器

    Java Class文件查看器是一款专为Java开发者设计的实用工具,它允许用户查看和分析.class文件,这是Java编译器将源代码编译后的二进制形式。了解如何使用这类工具对于理解和调试Java应用程序至关重要,尤其是在处理已...

    JAVA帮助文件(第六版)

    总之,"JAVA帮助文件(第六版)"是Java开发者不可或缺的工具,无论你是刚接触Java的新手还是有经验的开发者,都应该充分利用这个资源来提升自己的技能。通过深入学习和实践,你将能够编写出更高效、更可靠的Java代码...

Global site tag (gtag.js) - Google Analytics