[解決済み] ScalaでInputStreamを文字列に変換する方法
2022-10-02 06:47:02
質問
JavaでInputStreamをStringに変換するのに使っていた便利な関数があります。 これをScalaに直接翻訳してみました。
def inputStreamToString(is: InputStream) = {
val rd: BufferedReader = new BufferedReader(new InputStreamReader(is, "UTF-8"))
val builder = new StringBuilder()
try {
var line = rd.readLine
while (line != null) {
builder.append(line + "\n")
line = rd.readLine
}
} finally {
rd.close
}
builder.toString
}
scalaでこれを行うイディオム的な方法はありますか?
どのように解決するのですか?
Scalaの場合 >= 2.11
scala.io.Source.fromInputStream(is).mkString
Scala 2.11の場合。
scala.io.Source.fromInputStream(is).getLines().mkString("\n")
はほとんど同じことをします。 しかし、なぜ行を取得して、それらをすべて一緒に接着したいのか、よくわかりません。 もし、ストリームがノンブロッキングであると仮定できるなら、単に
.available
を使い、全体をバイト配列に読み込んで、そこから直接文字列を作成することができます。
関連
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] C++でintをstringに変換する最も簡単な方法
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み] 文字列が有効な整数であるかどうかをテストする
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OCaml - intをstringに変換する方法は?
-
[解決済み] swiftで改行する方法
-
[解決済み] MIPSで文字列の最初の文字だけを置換するにはどうすればよいですか?
-
[解決済み] 辞書的順序とは何ですか?
-
[解決済み] strconv.Atoi()で文字列を指定するとエラーが発生する。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] sqliteでパディングを含む文字列を連結する方法
-
[解決済み】文字、コードポイント、グリフ、書記素はどう違うの?
-
[解決済み】Objective-CのisEqualToStringのSwiftに相当するものは何ですか?
-
[解決済み] Swiftで "Index "を "Int "型に変換するには?