[解決済み] Scalaでファイルに書き込むには?
2022-04-26 08:18:21
質問
読書には、便利な抽象表現があります。
Source
. テキストファイルに行を書き込むにはどうすればよいのでしょうか?
どのように解決するのですか?
2019年(8年後)を編集する。
スカラIO
は、あったとしてもあまり活発ではありません。
李昊毅
自身の図書館を提案
lihaoyi/os-lib
ということです。
以下に紹介します。
.
2019年6月
グザヴィエ・ギホ
で言及しています。
回答
図書館
Using
自動的なリソース管理を行うためのユーティリティである。
編集(2011年9月): 以降 エドゥアルド・コスタ がScala2.9について質問しています。 リック-777 というコメント scalax.IO のコミット履歴 は2009年半ば以降、ほとんど存在しない...。
スカラIO は場所を変えました。 GitHubレポ から ジェシー・アイヒャー (また SOについて ):
Scala IOアンブレラプロジェクトは、IOの異なる側面や拡張のためのいくつかのサブプロジェクトで構成されています。
Scala IOの主なコンポーネントは2つあります。
- コア - Coreは主に、任意のソースやシンクとのデータの読み書きを扱います。中心となる特性は
Input
,Output
とSeekable
であり、コアAPIを提供する。
その他の重要なクラスはResource
,ReadChars
とWriteChars
.- ファイル - ファイルは
File
(と呼ばれる)。Path
) Java 7のNIOファイルシステムとSBTのPathFinder APIを組み合わせたAPIです。
Path
とFileSystem
は、Scala IO File API への主なエントリポイントです。
import scalax.io._
val output:Output = Resource.fromFile("someFile")
// Note: each write will open a new connection to file and
// each write is executed at the begining of the file,
// so in this case the last write will be the contents of the file.
// See Seekable for append and patching files
// Also See openOutput for performing several writes with a single connection
output.writeIntsAsBytes(1,2,3)
output.write("hello")(Codec.UTF8)
output.writeStrings(List("hello","world")," ")(Codec.UTF8)
オリジナルの回答(2011年1月)、scala-ioの旧所在地を記載。
Scala2.9を待ちたくない場合は、Scala2.9に対応した
scala-incubator / scala-io
ライブラリです。
(" に記載されています。
なぜScalaソースは基礎となるInputStreamを閉じないのですか?
となります)
参照 サンプル
{ // several examples of writing data
import scalax.io.{
FileOps, Path, Codec, OpenOption}
// the codec must be defined either as a parameter of ops methods or as an implicit
implicit val codec = scalax.io.Codec.UTF8
val file: FileOps = Path ("file")
// write bytes
// By default the file write will replace
// an existing file with the new data
file.write (Array (1,2,3) map ( _.toByte))
// another option for write is openOptions which allows the caller
// to specify in detail how the write should take place
// the openOptions parameter takes a collections of OpenOptions objects
// which are filesystem specific in general but the standard options
// are defined in the OpenOption object
// in addition to the definition common collections are also defined
// WriteAppend for example is a List(Create, Append, Write)
file.write (List (1,2,3) map (_.toByte))
// write a string to the file
file.write("Hello my dear file")
// with all options (these are the default options explicitely declared)
file.write("Hello my dear file")(codec = Codec.UTF8)
// Convert several strings to the file
// same options apply as for write
file.writeStrings( "It costs" :: "one" :: "dollar" :: Nil)
// Now all options
file.writeStrings("It costs" :: "one" :: "dollar" :: Nil,
separator="||\n||")(codec = Codec.UTF8)
}
関連
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] ファイルを作成し、書き込むにはどうすればよいですか?
-
[解決済み] ファイルに行を書き込む正しい方法?
-
[解決済み] Javaでファイルが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Rubyでファイルに書き込むには?
-
[解決済み】コマンドラインパラメータを解析する最良の方法?[クローズド]
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 実行時に変数の型を取得したい
-
[解決済み] A の値をキーとして Seq[A] を Map[Int, A] に変換する方法は?
-
[解決済み] TimeoutExceptionが発生した場合、どのような原因が考えられるでしょうか。Sparkで作業しているときに[n秒]後にFuturesがタイムアウトしました[重複]。
-
[解決済み] sparkでrddオブジェクトをdataframeに変換する方法
-
[解決済み] SparkSQL - パーケットファイルを直接読み込む
-
[解決済み] Scala vs. Groovy vs. Clojure [終了しました]。
-
[解決済み】コマンドラインパラメータを解析する最良の方法?[クローズド]
-
[解決済み】Scala 2.8 breakOut
-
[解決済み】Scalaのウェブフレームワークは何がありますか?[クローズド]
-
[解決済み] Scala:1ステートメントで文字列をファイルに書き込む