2013-07-26 11 views
19

私はScalaプログラミングに慣れていません。私はScalaでプロパティファイルを読みたいと思っていました。scalaでのプロパティファイルの読み込み方法

Scalaでプロパティファイルを読み取るAPIが見つかりません。

Scalaのプロパティファイルを読み込むためのAPIがあるかどうか教えてください。

答えて

17

Scala Mapjava.util.Mapと同様の方法で行う必要があります。 java.util.Propertiesは、java.util.Dictionaryのいずれかを拡張するjava.util.HashTableを拡張します。あなたはその後、上記Mapを使用することができます

val x = new Properties 
//load from .properties file here. 
import scala.collection.JavaConverters._ 

scala> x.asScala 
res4: scala.collection.mutable.Map[String,String] = Map() 

scala.collection.JavaConvertersはへとあちこちDictionaryからScalaのmutable.Mapに変換する機能を持っています。取得して取得する。しかし、それをPropertiesタイプ(バックなどを保存するため)に戻したい場合は、それを手動でキャストしなければならないかもしれません。

21

Java APIのほかに、configと呼ばれるTypesafeによるライブラリがあり、さまざまなタイプの構成ファイルを操作するための優れたAPIを備えています。

0

はラウルからのアプローチ次の行

def getPropertyX: Option[String] = Source.fromFile(fileName) 
    .getLines() 
    .find(_.startsWith("propertyX=")) 
    .map(_.replace("propertyX=", "")) 
-1

に沿って何かを考えてみましょう、あなたが行を解析し、=後の値を取得する必要があり、これは私の作品:

Source.fromFile(fileName) 
    .getLines() 
    .find(_.startsWith("version=")) 
    .get 
    .split("=")(1) 

同じ行を選択して=で分割すると、配列[String]を取得し、その後の値を選択します。つまり、配列の2番目の要素を意味します。