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

JAVA读取外部资源的方法

 
阅读更多

JAVA读取外部资源的方法

java代码中经常有读取外部资源的要求:如配置文件等等,通常会把配置文件放在classpath下或者在web项目中放在web-inf下.
1.从当前的工作目录中读取:达内就业
[java] view plaincopyprint?

    try {
  • BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("wkdir.txt"))); String str;

  • while ((str = in.readLine()) != null) { System.out.println(str);
  • } in.close();
  • } catch (IOException e) {
  • }


2,从classpath中读取(读取找到的第一个符合名称的文件):达内培训费用
[java] view plaincopyprint?

    try {
  • InputStream stream = ClassLoader.getSystemResourceAsStream("fileinjar.txt"); BufferedReader in = new BufferedReader(new InputStreamReader(stream));
  • String str;
    while ((str = in.readLine()) != null) {
  • System.out.println(str); }
  • in.close(); } catch (IOException e) {
  • }


3,从classpath中读取(读取找到的所有符合名称的文件,如Spring中带有classpath*:前缀的情况就会从classpath中遍历):
[java] view plaincopyprint?

    try {

  • Enumeration resourceUrls = Thread.currentThread().getContextClassLoader().getResources("fileinjar.txt");


  • while (resourceUrls.hasMoreElements()) {
  • URL url = (URL) resourceUrls.nextElement(); System.out.println(url);

  • BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
  • String str;
    while ((str = in.readLine()) != null) {
  • System.out.println(str); }
  • in.close();
  • }
  • } catch (IOException e) {
  • }  


4,从URL中读取:达内怎么样
[java] view plaincopyprint?

    try {

  • URL url = new URL("http://blog.csdn.net/kkdelta");
  • System.out.println(url);
  • BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream())); String str;

  • while ((str = in.readLine()) != null) { System.out.println(str);
  • } in.close();

  • } catch (IOException e) {
  • e.printStackTrace();
  • }


5,web项目从web-inf文件夹读取(通过得到ServletContext读取,可以在servlet或者能够得到request的类中使用):
[java] view plaincopyprint?

    try {

  • URL url = (URL) getServletContext().getResource("/WEB-INF/webinffile.txt");

  • // URL url = (URL)req.getSession().getServletContext().getResource("/WEB-INF/webinffile.txt");
    System.out.println(url);

  • BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
  • String str;
    while ((str = in.readLine()) != null) {
  • System.out.println(str); }
  • in.close();
  • } catch (IOException e) { e.printStackTrace();
  • }


以上代码在eclipse环境中运行测试过.不过最近在用JUnit的时候,通过ant运行JUnit时通过ClassLoader.getSystemResourceAsStream("file.txt");的方式去找不到文件.改成 Xclass.class.getClassLoader().getResourceAsStream("file.txt");能从ant指定的classpath中找到文件.原因是ClassLoader和Xclass.class.getClassLoader()是不同的,查找的路径不一样.
分享到:
评论

相关推荐

    Java 读取外部资源的方法详解及实例代码

    以下是对几种主要Java读取外部资源方法的详细解释和实例代码。 1. **从当前工作目录读取** 当资源文件位于程序运行时的工作目录下时,可以使用`FileInputStream`来读取。例如: ```java try { BufferedReader ...

    java获取网络音乐文件时长

    虽然这不是纯Java方法,但可以通过执行`ffmpeg`命令行来获取时长。首先在系统上安装`ffmpeg`,然后使用`Runtime.getRuntime().exec()`执行命令: ```java public class AudioDurationWithFFMPEG { public static ...

    Java中读取文件的方法大全

    在Java编程语言中,文件...了解并熟练运用这些方法对于Java开发者来说至关重要,因为它们构成了程序与外部数据交互的基础。在实际应用中,应根据具体需求选择合适的方法,并确保在操作完成后正确关闭流,避免资源泄漏。

    Java读取netcdf文件和生成等值线的jar_netcdf_wContour

    本篇文章将重点讲解如何使用Java读取NetCDF文件以及生成等值线的实现方法,主要涉及两个关键库:netcdf-4.3.22.jar和wContour.jar。 首先,`netcdf-4.3.22.jar`是Unidata开发的Java NetCDF库,它提供了全面的功能来...

    java调用外部文件

    这段代码会启动.exe文件,并创建一个`Process`对象,你可以通过这个对象与外部程序交互,如读取其输出或处理错误信息。 对于调用.chm(Microsoft HTML Help)文件,Java本身并不直接支持。但你可以利用`java.awt....

    java,jsp读取远程图片到本地服务器

    这样的功能对于确保网站的性能和用户体验至关重要,因为将图片本地化可以减少加载时间,特别是对于大量外部资源的情况。下面我们将详细探讨这个过程涉及的关键知识点。 1. **Java和JSP基础**: Java是一种广泛使用...

    总结一下java获取路径几种途径

    对于Web应用来说,路径还可能以URI或URL的形式存在,如数据库连接字符串、外部资源链接等。 ```java // 获取文件的URL对象 URL fileURL = new File("example.txt").toURI().toURL(); // 获取URI对象 URI fileUri = ...

    Java自学视频教程-java读取txt文件方法1.rar

    本教程将通过“Java自学视频教程-java读取txt文件方法1.rar”中的内容,详细介绍如何在Java中读取txt文件。 首先,我们需要理解Java I/O流的概念。Java I/O流是一组类,用于在内存和外部存储之间传输数据。读取文件...

    java读取xps文件

    2. **Java 读取 XPS 的方法** - **Apache POI-XPSPackage**:Apache POI 是一个流行的库,用于处理 Microsoft Office 格式,如 Excel 和 Word。尽管 POI 主要是为 Office 格式设计的,但它也提供了 XPSPackage,...

    JAVA 获得控制台的输出信息

    `这一行调用了外部类`XXXX`的`main`方法,并传递了必要的参数。由于我们已经重定向了`System.out`,因此`main`方法中的任何打印操作都会被写入到`ByteArrayOutputStream`中,而不是控制台。 ### 3. 恢复原始输出流 ...

    java.lang.OutOfMemoryError: Java heap space 解决方法

    "Java.lang.OutOfMemoryError: Java heap space 解决方法" Java.lang.OutOfMemoryError: Java heap space 是 Java 中的一个常见错误,它发生时,Java 虚拟机 (JVM) 无法分配对象,因为堆空间不足。下面是解决该问题...

    用java 调用外部程序

    2. 输入/输出流管理:外部程序的输出(标准输出和错误输出)可以通过`Process`的`getOutputStream()`、`getInputStream()`和`getErrorStream()`方法获取,必须及时读取,否则可能导致阻塞。 3. 资源释放:确保在不再...

    Java实现获取窗口句柄并操作窗口jna-4.4.0

    然而,Java原生并不支持直接操作操作系统级别的资源,如窗口句柄。为了弥补这个不足,开发人员可以使用Java Native Access (JNA),这是一个Java平台上的库,允许Java代码调用本机库函数,与操作系统进行更直接的交互...

    Java,获取汉字拼音、部首、笔画、笔画数目源文件、源码

    这样的数据通常不会内置在标准Java库中,因此可能需要从外部资源如HanDict(你提到的压缩包中的文件)导入。 笔画是构成汉字的基本线条,而笔画数目则是指一个汉字由多少笔画组成。获取汉字的笔画和笔画数目,同样...

    java通过url调用接口

    常见的HTTP请求方法有GET和POST,它们分别用于获取资源和提交数据。对于简单的GET请求,可以直接设置`URLConnection`的`doOutput`属性为`true`,然后写入请求参数。如果是POST请求,通常需要设置`setDoOutput(true)`...

    Java-recourse.rar_java读取recouse

    在Java编程中,资源(Resource)通常指的是程序运行过程中需要用到的外部文件,如文本文件、图片、音频等。这些资源可以被嵌入到程序的类路径(Classpath)中,以便在运行时方便地访问。"Java-readResource.rar"这个...

    java读取properties文件的方法实例分析

    本篇文章将深入探讨如何在Java中读取`.properties`文件,无论它们位于项目内部还是外部。 1. **不在项目中读取.properties文件** 当`.properties`文件位于项目的外部时,我们需要使用文件系统路径来访问它。下面...

    纯java读取Apk信息,贡献全源码,可读取程序.apk中的AndroidManifest.xml所有信息

    3. **读取XML内容**:创建一个`InputStream`对象,通过`ZipEntry`的`getInputStream()`方法获取AndroidManifest.xml的输入流。然后可以使用`java.io.InputStreamReader`和`java.io.BufferedReader`来读取XML内容。 ...

    java获取外网ip

    ### Java 获取外网 IP 的实现方法 在现代网络应用中,获取本机的外网 IP 地址是一项常见的需求。例如,在服务器管理、网络安全、分布式系统等场景中,经常需要知道自己的公共 IP 地址。Java 作为一种广泛使用的编程...

    基于java的文件资源管理器

    你可以使用递归方法遍历目录,或者利用`Files.walk()`方法获取目录下的所有文件和子目录。 5. **文件过滤** 用户可能希望按照特定的类型或条件筛选文件。可以创建自定义的`FileFilter`或`PathMatcher`来实现这一...

Global site tag (gtag.js) - Google Analytics