⑴ java如何獲取當前的jar包路徑以及如何讀取j
舉例:
把配置文件ccc.xml放到編譯路徑,如src/com.aaa.aa下面,然後再根據
String rootPath=Xxxx.class.getResource("/").getPath();
獲取到編譯的根路徑,配置文件的地址就是rootPath+"com/aaa/aa/ccc.xml"
⑵ java中如何獲取一個jar包的路徑
獲取jar包的路徑的方法:
xxxxx.class.getProtectionDomain().getCodeSource().getLocation()
其中xxxxx是類名
⑶ 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;
}
}
⑷ java jar包獲取當前路徑是哪個路徑
獲取早物稿jar包的路徑的方法:
xxxxx.class.getProtectionDomain().getCodeSource().getLocation()
其中xxxxx是螞銀類名陸孝
⑸ JAVA如何在main()中取得當前jar的名字和路徑
java 允許我們定位某個 class 的 CodeSource 。
通過 CodeSource 提供的 Location 信息就能夠找到相關的文件路徑。
假設 aa.jar 的 main class 是 Test,通過
new Test().getClass().getProtectionDomain().getCodeSource().getLocation();
可以獲取到jar包的路徑。jar的名稱就好辦了。截取下上面獲取到的路徑字元串就行了。
⑹ java如何獲取jar包自身路徑
Filefile=newFile("手拆搏畢祥.")
file.getAbsolutePath()
試試這個御侍
⑺ 【java】直接雙擊運行一個jar,使它返回該jar文件所在的路徑。萬分感謝!!
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.FlowLayout;importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JTextField;
importjavax.swing.border.TitledBorder;publicclassshow
{/**
*@paramargs
*/
JFrame迅鋒jf=newJFrame("顯示數據");//
Containercp=jf.getContentPane();//返回此窗體的contentPane對象,Container是一個可包含其它AWT組件的組件
JTextFieldtf=newJTextField();//大的label
JLabellb1=newJLabel();//文本提示顯示框
JLabellb2=newJLabel();//文本提示顯示框
publicstaticvoidmain(String[]args)
{
//TODOAuto-generatedmethodstub
shows=newshow();
s.showlj();}
publicvoidshowlj()
{
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設置用戶在此窗體悶老上發起"close"時默認執行的操作
cp.setLayout(newBorderLayout());//設置此容器的布局管螞昌升理器,布置容器的邊界布局
tf.setBounds(450,350,300,50);
tf.setEditable(false);
tf.setBorder(newTitledBorder("顯示路徑"));
tf.setLayout(newFlowLayout());
tf.add(lb1);
tf.add(lb2);
cp.add(tf,BorderLayout.CENTER);
jf.setBounds(400,300,500,150);
jf.setVisible(true);
StringClassPath=Thread.currentThread().getContextClassLoader().getResource("show.class").toString();
lb1.setText(ClassPath.substring(10,28));
lb2.setText(ClassPath.substring(10,22));
}}
⑻ springjava代碼里中載入jar路徑
springjava代輪坦碼里中載入jar路徑:UI,image,background.jpg。路徑最前面的,表示根目錄,即絕臘升桐對路徑,若沒有最左邊的,則表示相對路徑。使用哪種方法看笑告自己的需求,這里使用了絕對路徑。載入的時候使用。