最近在做scala 由于涉及到jar包里的配置常量,经常变动,如果写在jar里还得重新打包、编译比较麻烦,所以采用了读取jar包外的配置文件代码如下:
package com.ultrapower.scala.file
import java.io.{BufferedInputStream, File, FileInputStream}
import java.util.Properties
/**
* ${DESCRIPTION}
*
* @author xiefg
* 2018-01-22 16:45
**/
object PropertyConfig {
val prop = new Properties
def main(args: Array[String]) {
println("【初始化配置文件】")
initLoadProperties()
println("【加载文件结束】" )
println(PropertyConfig.getProperty("user"))
}
def initLoadProperties(): Unit = {
//.是当前目录
val directory = new File(".")
val filePath = directory.getAbsolutePath
val ipStream = new BufferedInputStream(new FileInputStream(filePath + "/conf/config.properties"))
prop.load(ipStream)
}
def getProperty(key: String): String = {
return prop.getProperty(key);
}
}
jar包名称是spark_scala_demo.jar
配置文件目录如图:
在当前目录执行命令:scala -classpath spark_scala_demo.jar com.ultrapower.scala.file.PropertyConfig