`

java 读取本jar包内的资源文件

 
阅读更多
   
package com.test.io;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;

/**
 * 需要在d盘建立临时文件。
 * D:\\test\\test2.txt
 * 
 * @author DZIT
 * 
 */
public class IoTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 字符读取写入
		BufferedReader in1 = null;
		BufferedReader in2 = null;
		BufferedWriter ow1 = null;
		BufferedWriter ow2 = null;

		// 字节读取写入
		BufferedInputStream is1 = null;
		BufferedOutputStream os1 = null;
		try {
			// 从class同级文件读取字符数据
			in1 = new BufferedReader(new InputStreamReader(IoTest.class
					.getClassLoader().getResourceAsStream(
							"com/test/io/test.txt"), "utf-8"));
			// 写入到文件系统
			ow1 = new BufferedWriter(new FileWriter(new File(
					"D:\\test\\out1.txt")));

			// 从文件系统读取数据
			in2 = new BufferedReader(new FileReader("D:\\test\\test2.txt"));
			// 写入到文件系统
			ow2 = new BufferedWriter(new FileWriter(new File(
					"D:\\test\\out2.txt")));

			String str = null;
			while ((str = in1.readLine()) != null) {
				System.out.println(str);
				ow1.write(str);
				// 换行
				ow1.newLine();
				// 刷新,否侧可能不出数据
				ow1.flush();
			}

			str = null;
			while ((str = in2.readLine()) != null) {
				System.out.println(str);
				ow2.write(str);
				ow2.newLine();
				ow2.flush();
			}

			// 从class同级文件读取字节数据。同理可参照上边从文件系统读取数据。
			is1 = new BufferedInputStream(IoTest.class.getClassLoader()
					.getResourceAsStream("com/test/io/asd.jpg"));

			os1 = new BufferedOutputStream(new FileOutputStream(new File(
					"D:\\test\\outImage.jpg")));
			byte[] b = new byte[1024];
			while (is1.read(b) != -1) {
				os1.write(b);
			}
			os1.flush();

			in1.close();
			in2.close();
			ow1.close();
			ow2.close();
			is1.close();
			os1.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
  









//for resource test in jar
        try{
        //读取资源文件,但是打成jar包后会出错。
        ResourceBundleTest test = new ResourceBundleTest();
        URL url = test.getClass().getResource("/config/REG_IP1.xsd");
        System.out.println("url is ====:" + url.toURI());
        FileReader fdata = new FileReader(new File(url.toURI()));
       
        //读取资源文件,打成jar包后会也没有问题。
        InputStream in=test.getClass().getResourceAsStream("/config/REG_IP1.xsd");
        Reader inreader=new InputStreamReader(in);

       
            //读取项目根目录下的文件
            Properties props = new Properties();  
            props.load(new FileInputStream("db.properties"));
        System.out.println("读取项目根目录下的文件");

            //读取bin目录下的文件。如下示例为 文件放在 src/conf 下的test。property文件。编译后会在bin/conf下
            ResourceBundle bund = ResourceBundle.getBundle("conf.test", Locale.getDefault());
        System.out.println("读取bin目录下的文件");
           
            //yy.properties应放在/WEB-INF/classes目录
            //ResourceBundle res = ResourceBundle.getBundle("yy.properties");
           
           
            //读取跟当前class相同目录下的文件
            Properties props2=new Properties();
            props2.load(ResourceBundleTest.class.getResourceAsStream("ResourceBundleTest.properties"));
         

        }catch(Exception e){
        System.out.println("E  getResource !!");
        }
    } 
分享到:
评论

相关推荐

    读取war包或jar包内的文件

    标题"读取war包或jar包内的文件"涉及到的知识点主要是如何在程序中动态地获取并读取这些归档文件中的内容,这对于理解和处理Java应用的部署和运行至关重要。这篇博客(虽然链接未提供具体内容)可能探讨了以下关键点...

    Java实现从jar包中读取指定文件的方法

    在给定的代码示例中,`JarFileAccess`类展示了如何读取JAR文件中的指定文件并将其复制到目标目录。 1. **创建`JarFile`对象**: 使用`new JarFile()`构造函数创建`JarFile`对象,传入JAR文件的路径。这将打开JAR...

    Java源文件读取JAR包文件.rar

    在Java编程中,有时我们需要在运行时从JAR(Java ...通过以上步骤,你可以在Java源文件中成功地读取并处理JAR包文件中的内容。记住,这只是一个基础的实现,根据具体需求,你可能需要添加更多的错误处理和优化措施。

    java读取excel文件jar包20181223

    这个名为"java读取excel文件jar包20181223"的资源可能包含了一些帮助Java开发者实现这一功能的库。下面将详细讨论Java与Excel交互的相关知识点。 1. **Apache POI**: Apache POI 是一个开源项目,提供了处理...

    java读JAR包里的配置文件

    java读JAR包里的配置文件、java读JAR包里的配置文件

    spring读取jar中的配置文件

    总结起来,Spring提供了多种方式读取JAR内配置文件,包括`@PropertySource`、`@ConfigurationProperties`以及直接使用`Resource`接口。理解这些方法的使用和它们之间的差异对于开发和维护复杂的Spring应用至关重要。...

    java 读取jar包文件

    在Java编程中,读取jar包内的文件是一个常见的需求,特别是在运行时动态加载资源或类文件时。Java提供了一种内置的方式,通过`java.util.jar`包中的`JarFile`和`JarInputStream`类来实现这个功能。下面将详细介绍...

    详解Java读取Jar中资源文件及示例代码

    Java读取Jar中资源文件的实现与应用 Java读取Jar中资源文件是一种常见的操作,在开发Java项目时,经常需要读取jar包中的资源文件。下面将详细介绍Java读取Jar中资源文件的实现代码和应用。 一、Java读取Jar中资源...

    Eclipse打包成JAR包读取外部JAR包和外部配置文件

    本文将详细介绍如何在Eclipse中将项目打包成JAR文件,并确保能正确引用外部JAR包和读取外部配置文件。 首先,我们来看如何打包项目为JAR。在Eclipse中,选择`Export` -> `Java` -> `Runnable JAR file`。在弹出的...

    java读取ini文件jar

    在这个场景中,我们有一个名为“java读取ini文件jar”的压缩包,它包含了一个示例,帮助开发者了解如何在Java中读取Ini文件。 首先,我们需要引入能够处理Ini文件的第三方库。一个常用的库是Apache Commons ...

    EXCELJAVA读取JAR包

    标题“EXCELJAVA读取JAR包”涉及的是Java编程中的一个特定应用场景,即使用Java来读取Excel文件,而这个过程可能涉及到从一个JAR文件中操作数据。描述中提到,开发者创建了一个Java项目,引入了Apache POI库(通过...

    jar 包 内文件读取 文件内容

    以下是对"jar包内文件读取 文件内容"这一主题的详细说明。 1. **访问JAR文件内容**: - 使用`java.util.jar.JarFile`类:这是Java标准库提供的一种方式,可以打开并访问JAR文件的内容。你需要创建一个`JarFile`...

    java 读取资源文件

    本文将深入探讨如何使用Java读取资源文件,特别是properties类型的文件。 资源文件通常存储在项目的类路径(classpath)下,可以是.properties、.txt、.xml等形式,它们提供了与代码分离的配置选项。对于....

    JAR文件读取工具

    Java Archive (JAR) 文件是Java平台上的一个重要组成部分,它主要用于打包Java类、资源文件以及元数据。JAR文件的出现使得Java开发者能够将多个类文件组合成一个单一的可执行文件,方便分发和执行。在Java开发过程中...

    jar包、class文件读取工具

    2. jar包读取:在Java中,可以使用`java.util.jar`包中的`JarFile`类来读取jar包。通过指定jar路径,可以打开jar文件并遍历其中的条目,获取类文件或其他资源。此外,`URLClassLoader`可以加载jar包中的类,使得运行...

    java全部用的jar包

    Java开发过程中,jar(Java Archive)包是必不可少的组件,它们包含了预编译的类、资源文件以及元数据,使得开发者能够将多个类文件整合到一个单一的可部署单元中。以下是对标题和描述中涉及的几个关键jar包及其功能...

    Java解析apk所需jar包

    总结来说,Java解析APK所需Jar包提供了访问APK文件内部结构的能力,包括解析XML、二进制文件和资源。`84bc9e7ce9af44f7969f14bc8cf15666.jar`可能是一个包含这些功能的工具或库,对于Android应用的分析、调试和安全...

    Eclipse打包成JAR包读取外部JAR包和外部配置文件(源码)

    总结,打包JAR包并在其中读取外部JAR和配置文件,需要理解Java类路径的概念,熟练运用Eclipse的打包功能,以及正确处理MANIFEST.MF文件。同时,掌握使用构建工具如Maven或Gradle会大大提高效率。在实际项目中,确保...

    解决java打包之后无法加载静态资源的问题SWTResourceManager.java源码

    这是因为通过class.getResource()方法在IDEA中运行的路径和生成jar包获取的的路径是不同的。打成jar包后,获取图片的路径中有"xxx.jar!"这里面的内容是不能够被操作系统识别出来的,因此直接通过路径来获取文件是不...

Global site tag (gtag.js) - Google Analytics