-1

パスを呼び出す xml があり、場所がハードコードされています。

<path=c:/... />

.properties を使用してパスに入れ、そこから呼び出す方法を知っている人はいますか? セキュリティ上の理由からこれを行っています。

編集

チュートリアル http://www.mulesoft.org/documentation/display/current/Basic+Studio+Tutorialに従う

インバウンドのパスは次のように呼び出されます。

<file:inbound-endpoint  path="C: ../>

プロパティファイルからロードできますか?

4

2 に答える 2

0
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
  <comment>Application Configuration</comment>
  <entry key="data.folder">D:\App\Data</entry>
  <entry key="jdbc.url">jdbc:mysql://localhost/mydb</entry>
</properties>

LoadXmlProperties .java

import java.io.FileInputStream;
import java.util.Properties;

public class LoadXmlProperties {
    public static void main(String[] args) {
        LoadXmlProperties lxp = new LoadXmlProperties();
        try {
            Properties properties = lxp.readProperties();
            /*
             * Display all properties information
             */
            properties.list(System.out);

            /*
             * Read the value of data.folder and jdbc.url configuration
             */
            String dataFolder = properties.getProperty("data.folder");
            System.out.println("dataFolder = " + dataFolder);
            String jdbcUrl = properties.getProperty("jdbc.url");
            System.out.println("jdbcUrl = " + jdbcUrl);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public Properties readProperties() throws Exception {
        Properties properties = new Properties();
        FileInputStream fis = new FileInputStream("configuration.xml");
        properties.loadFromXML(fis);

        return properties;
    }
}
于 2013-03-21T15:09:39.063 に答える
0

プロパティ ファイルをロードするコードは次のとおりです。

    Properties prop = new Properties();
    prop.load(new FileInputStream("C:\\prop.properties"));
    String path = prop.getProperty("pathname");

ただし、プロパティ ファイルへのハードコード パスがあります。パスをメイン メソッドの引数として渡すだけです。

public static void main(String Args[]){ 
    try {
        if(Args != null){
            if(Args[1] != null){//Load XML or prop File                 try{
                    properties.load(new FileInputStream(Args[1]));
                }catch(Exception e){
                    throw new Exception("Error loading PropertieFile: "+Args[1] + " :"+e.getMessage());
                }
            }else{
                throw new Exception("No File Found!");
            }
于 2013-03-21T15:12:19.707 に答える