使用属性文件设置目录加载文件的位置

时间:2015-10-06 10:34:27

标签: java

我有一个java / mule应用程序,它从创建的目录中加载文件并将其显示在服务器上,例如localhost / file.txt

File dir = new File("C:\\folder");
        dir.mkdirs();
        File file1 = new File(dir, filePath);

文件路径来自URL - 它采用参数http.request.path,例如file.txt并读取文件

无论如何我可以移动硬编码的代码来将文件夹设置为mule / java属性文件而不是硬编码吗?

1 个答案:

答案 0 :(得分:0)

您可以将路径放在属性文件中,并使用Java中的Properties类来读取它。 示例代码:

Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("config.properties");
prop.load(input);
}catch(IOException e){
    //handle exception
}

更多详情 您必须创建一个新的属性文件,该文件只是一个扩展名为.properties的文件。我们称之为sample.properties。您可以输入值,这些值将是键值对。这就是你将值放在那里的方式:

dirpath = /home/dextr/Documents/docs/
fileName = puzzle.txt

您必须将属性文件放在应用程序的ROOT中,否则您必须提供相对路径才能读取它。 然后使用类似下面的代码来读取properties对象中的值。根据您需要的值,您可以使用相应的密钥。

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

public class SoSample {

public static void main(String[] args) {
    Properties properties = new Properties();
    InputStream input = null;
    try {
        input = new FileInputStream("sample.properties");
        properties.load(input);
        String dirPath = (String)properties.get("dirpath");
        System.out.println(dirPath);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}