web-dev-qa-db-ja.com

Kotlinでプレーンテキストファイルを読み取る方法

Kotlinでプレーンテキストファイルを読み取る方法はさまざまです。

可能な方法とそれらの使用方法を知りたい。

5

テキストファイルを読み取るには、まず作成する必要があります。 Android Studioでは、次のようなテキストファイルを作成します。

1)垂直ツールバーの上部から[プロジェクト]を選択して、プロジェクトの[ツールウィンドウ]を開きます。2)[ツールウィンドウ]の上部にあるドロップダウンメニューから[Android]を選択します。3)[右クリック]をクリックしますアプリ」を選択して「新規」を選択し、次に「フォルダ」(緑色のAndroidアイコンが横にあるアイコン))を選択し、次に「アセットフォルダ」を選択します4)「アセット」を右クリックします「ツールウィンドウ」に表示された後のフォルダ5)「新規」->「ファイル」を選択します6)ファイルに名前を付け、テキストファイルの場合は「.txt」、拡張子の場合は「.html」を含めます。 WebView 7)ファイルを編集するか、テキストを切り取ってそこに貼り付けます。これで、ファイルは「ツールウィンドウ」の「プロジェクト」ファイルの下に表示され、ダブルクリックしていつでも編集できます。

このファイルにアクセスするには、「application.assets」のプレフィックスを使用します。その後にsomeFunction(fileName)が続きます。例(Kotlin):

val fileName = "townNames.txt"
val inputString = application.assets.open(fileName).bufferedReader().use { it.readText() }
val townList: List<String> = inputString.split("\n")
1
Greg Supina

Anisuzzamanの答えは、いくつかの可能性を示しています。

それらの主な違いは、ファイルが単一の文字列としてメモリに読み込まれるか、メモリに読み込まれて行に分割されるか、または行ごとに読み込まれるかです。

言うまでもなく、一度にファイル全体をメモリに読み込むと、さらに多くのメモリが必要になる可能性があるため、本当に必要でない限り、これは避けるべきことです。 (テキストファイルは任意に大きくなる可能性があります。) BufferedReader.useLines() を使用して1行ずつ処理することは、多くの場合良いアプローチです。

残りの違いは主に歴史的なものです。非常に初期のバージョンのJavaはInputStream&cを使用していましたが、文字とバイトを適切に区別していませんでした。これを修正するためにReader&cが追加されました。Javaストリームを使用して1行ずつ効率的に読み取る方法が8つ追加されました(例:Files.lines())。さらに最近では、Kotlinが独自の拡張関数(例:BufferedReader.useLines())を追加しましたそれはそれをさらに簡単にします。

0
gidds