2015-03-10 9 views
9

In Scala, wenn ich die folgende Konfiguration:lesen Werte von config in Scala

id = 777 
username = stephan 
password = DG#%[email protected] 

Die Idee, eine Datei zu öffnen ist, verwandelt es in einen String, tut getLines drauf und bekommt die rechten Seitenwert basierend auf der linken Seitentaste. Was wäre der schönste Code, um konstante Konfigurationswerte in meine App zu lesen?

Client-Nutzung: val username = config.get("username")

Antwort

15

beste Weg, um eine .conf-Datei und die ConfigFactory statt, die selbst alle Datei-Parsing zu tun zu verwenden wäre:

import java.io.File 
import com.typesafe.config.{ Config, ConfigFactory } 

// this can be set into the JVM environment variables, you can easily find it on google 
val configPath = System.getProperty("config.path") 

val config = ConfigFactory.parseFile(new File(configPath + "myFile.conf")) 

config.getString("username") 

ich in der Regel scalaz Validation für die Verwendung parseFile Operation für den Fall, dass die Datei nicht da ist, aber Sie können einfach eine try/catch verwenden, wenn Sie nicht wissen, wie Sie das verwenden.