2015-03-10 1 views
9

In Scala, se ho la seguente configurazione:valori letti dal config a Scala

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

L'idea è di aprire un file, trasformarlo in una stringa, farlo getLines su di esso e ottenere la giusta mano valore laterale basato sul tasto laterale sinistro. Quale sarebbe il codice migliore per leggere i valori di configurazione costanti nella mia app?

utilizzo

Cliente: val username = config.get("username")

risposta

15

modo migliore sarebbe quello di utilizzare un file .conf e la ConfigFactory invece di dover fare tutto il file di analisi da soli:

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") 

Io di solito uso scalaz Validation per la Operazione parseFile nel caso in cui il file non è lì, ma si può semplicemente usare un try/catch se non sai come usarlo.