我是Scala编程的新手,尝试使用Scala读取配置文件并将值保存到对象中
我的配置文件值是
rawIngestionTableName=rawdataingestion
enrichedDataTableName=enricheddataingestion
rulesOutputDataTableName=rulesoutput
Ip=localhost
database=abc
任何人都可以建议我这样做的代码。
答案 0 :(得分:0)
您可以查看TypeSafe (or Lightbend) Config library。
它还支持Java属性(假设您的示例是标准的.properties
文件。当您使用它时,我建议您查看HOCON格式。
您可以包含的依赖是
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>config</artifactId>
<version>1.3.0</version>
</dependency>
或(如果使用sbt)
libraryDependencies += "com.typesafe" % "config" % "1.3.0"
答案 1 :(得分:0)
如果您的配置非常简单,可以使用以下命令:
import scala.io.Source
object conf extends App {
val input = """rawIngestionTableName=rawdataingestion
enrichedDataTableName=enricheddataingestion
rulesOutputDataTableName=rulesoutput
Ip=localhost
database=abc"""
// or if it's from the filesystem
// val input = Source.fromFile("/path/to/file.conf").mkString("\n")
val conf = input.split("\n").map(_.split("=", 2)).map(p => (p(0) -> p(1))).toMap
println(conf("database")) // outputs "abc"
}
答案 2 :(得分:0)
感谢 bjfletcher。 对我来说,它有一点变化。我从文件中读取时删除了“\n”。
val input = Source.fromFile("/path/to/file.conf").mkString("\n")
val conf = input.split("\n").map(_.split("=", 2)).map(p => (p(0) -> p(1))).toMap
println(conf("database"))