[解決済み] Scalaでファイル全体を読む?
2022-03-16 20:38:57
質問
Scalaでファイル全体をメモリに読み込むための、シンプルで標準的な方法は何ですか? (理想は、文字エンコーディングを制御できることです)。
私が思いつくベストは
scala.io.Source.fromPath("file.txt").getLines.reduceLeft(_+_)
のいずれかを使用することになるのでしょうか? Java の神がかったイディオム 外部ライブラリを使用しない場合)最も優れているのは、以下のようなものだと思われます。
import java.util.Scanner
import java.io.File
new Scanner(new File("file.txt")).useDelimiter("\\Z").next()
メーリングリストの議論を読んでいると、scala.io.Sourceが標準的なI/Oライブラリであるはずだということさえ、私にはよくわかりません。 その意図された目的が何なのか、正確には理解できないのです。
... シンプルで覚えやすいものがいい。 たとえば、これらの言語では、「...」という慣用句を忘れると大変なことになります。
Ruby open("file.txt").read
Ruby File.read("file.txt")
Python open("file.txt").read()
解決方法は?
val lines = scala.io.Source.fromFile("file.txt").mkString
ところで、"
scala.
もちろん、io の内容を全部または部分的にインポートして、 "io." も前置修飾する必要はありません。
しかし、上記ではファイルを開いたままにしています。問題を避けるために、このようにファイルを閉じてください。
val source = scala.io.Source.fromFile("file.txt")
val lines = try source.mkString finally source.close()
上記のコードのもう一つの問題は、その実装の性質上、恐ろしく遅いということです。より大きなファイルには、以下のものを使うべきです。
source.getLines mkString "\n"
関連
-
[解決済み] Scalaでループから抜け出すにはどうしたらいいですか?
-
[解決済み] TimeoutExceptionが発生した場合、どのような原因が考えられるでしょうか。Sparkで作業しているときに[n秒]後にFuturesがタイムアウトしました[重複]。
-
[解決済み] Scalaのオブジェクトとクラスの違い
-
[解決済み] Scalaのapply関数とは何ですか?
-
[解決済み】Scalaのリスト連結、::と++の比較
-
[解決済み】Scalaのvarとvalの定義の違いは何ですか?
-
[解決済み】Scala:文字列のイテラブルを結合する
-
[解決済み] Scalaのパターンマッチングシステムで比較演算子を使う
-
[解決済み】Scalaのimplicitを理解する。
-
[解決済み】Scalaはどこでimplicitを探すのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] scala 2.11.0 REPL を終了するには?
-
[解決済み] Scalaの''って何?
-
[解決済み] Scala : valへの再割り当て [重複].
-
[解決済み] Scala vs. Groovy vs. Clojure [終了しました]。
-
[解決済み] Scalaのcase classとclassの違いは何ですか?
-
[解決済み】ScalaのCaseオブジェクトとEnumerationsの比較
-
[解決済み] 縮小、折りたたみ、スキャン(左/右)?
-
[解決済み] sbtのScalaTest:タグなしで単一のテストを実行する方法はありますか?
-
[解決済み] マクロから匿名クラスのメソッドを持つ構造型を取得する
-
[解決済み] Scala:1ステートメントで文字列をファイルに書き込む