java 程序打包为jar发布后,读取配置文件路径出错 ,怎样获取配置文件路径?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 程序打包为jar发布后,读取配置文件路径出错 ,怎样获取配置文件路径?相关的知识,希望对你有一定的参考价值。

给你个例子,读取config.properties文件。
文件内容(值自己加)如下:
TestHosts =
FormalHosts =

TestConfig =
FormalConfig =

HostsPath =
ConfigPath =

读取文件的类如下:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.*;

public class EvnConfig
public static Properties PROPERTIES = new Properties();

static
String proFilePath = System.getProperty("user.dir")+"/config.properties";
//System.out.println(proFilePath);
//InputStream propertiesStream = EvnConfig.class.getClassLoader().getResourceAsStream(proFilePath);
InputStream in = null;
try
in = new BufferedInputStream(new FileInputStream(proFilePath));
catch (FileNotFoundException e1)
// TODO Auto-generated catch block
e1.printStackTrace();

try
PROPERTIES.load(in);
catch(IOException e)
System.out.println("properties创建失败!");
e.printStackTrace();

//System.out.println("EvnConfig.testHosts:"+PROPERTIES.getProperty("TestHosts"));


public static final String testHosts = changeCode(PROPERTIES.getProperty("TestHosts"));
public static final String formalHosts = changeCode(PROPERTIES.getProperty("FormalHosts"));
public static final String testConfig = changeCode(PROPERTIES.getProperty("TestConfig"));
public static final String formalConfig = changeCode(PROPERTIES.getProperty("FormalConfig"));
public static final String hostsPath = changeCode(PROPERTIES.getProperty("HostsPath"));
public static final String configPath = changeCode(PROPERTIES.getProperty("ConfigPath"));

public static String changeCode(String str)
String toStr = "";
try
//System.out.println(str + "转换...");
toStr = new String(str.getBytes("ISO-8859-1"),"GB2312");
//System.out.println(str + "转换成功!");
catch (UnsupportedEncodingException e)
// TODO Auto-generated catch block
System.out.println(str + "转换失败!");
e.printStackTrace();

return toStr;


参考技术A 要把你的配置文件和class文件的路径放到一起,比如com.test,你要把application.xml什么的文件放到和com同一个文件夹里打包,不然一般会找不到的 参考技术B Class.getResourceAsStream(...文件路径、文件名...)

java打成jar包后读取非resources文件

参考技术A 在Java项目中,需要读取resource资源目录下的文件,以及遍历指定资源目录下的所有文件,并且在读取文件时保留文件相对路径。

以上是关于java 程序打包为jar发布后,读取配置文件路径出错 ,怎样获取配置文件路径?的主要内容,如果未能解决你的问题,请参考以下文章

jar打包后怎么读取里面的文件

打包部署后无法读取jar包里的文件(实测可行,Java中读取jar包中的文件)

java 工程里有配置文件 打包成jar文件 找不到配置文件的路径 这个路径该怎么写!!

java窗体程序 打包jar后 怎么动态修改xml配置信息,请问哪位大神会啊

如何把java程序打包成.jar?

java程序打包EXE后,配置文件如何处理?