我有一个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属性文件而不是硬编码吗?
答案 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();
}
}
}