2011-07-29 25 views
17

私は、次のScalaでファイルに追加するにはどうすればよいですか?

def appendFile(fileName: String, line: String) = { 
} 

と同様の方法を書きたいしかし、私は実装を肉付けするかどうかはわかりません。ここでのもう一つの質問は、Scala 2.9の機能を暗示していますが、私は詳細を見つけることができませんでした。

+0

また、ここに追加する2番目の例を参照してください:http://stackoverflow.com/a/5218279/243233 – Jus12

答えて

31

one written by Jesse Eicharはインキュベーション中ですが、現時点ではスカラー固有のIO実装はありません。私は、これがJDK7で新しいFile(path)APIをどの程度使用するのかはわかりません。こののなので、今の私は、単純なJavaとなるだろう:

val fw = new FileWriter("test.txt", true) 
try { 
    fw.write(/* your stuff */) 
} 
finally fw.close() 
4
val fw = new FileWriter("test.txt", true) ; 
fw.write("This line appended to file!") ; 
fw.close() 
10

質問が古いので、答えがあります。私はこの方法を簡単に見つける:

もちろん
scala.tools.nsc.io.File("filename").writeAll("hello world") 

または

scala.tools.nsc.io.File("filename").appendAll("hello world") 

または

scala.tools.nsc.io.Path("/path/to/file").createFile().appendAll("hello world") 

より簡潔にするために、あなたはscala.tools.nsc.ioパッケージをインポートし、あなたのコード内での繰り返しを避けることができます。このパッケージを使用する利点は、外部の依存関係/ライブラリ(scala.io.file(Scalax)やApache Commonsとは異なります)を追加する必要がないことです。

クレジット:ガレットホール、thisを参照してください。

+0

これは公開APIではなく、いつでも削除することができます。コードがいつか壊れます。 –

+0

ライブラリーから:注:このライブラリーは実験的なもので、実行中のことを知らない限り使用しないでください。 – soote

関連する問題