ファイルの読み込み書き込み

C# ファイルの読み込み方法を3つ紹介します。読み込み方法で一番良いのはReadLinesメソッドの理由

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

今回のテーマ

こんばんは、サルモリです!

今回は下記のテーマについて書いていきます。

今回のテーマ

ファイルの読み込み方法3選

ファイルの読み込み方法について、書いていこうと思います。

よく使う読み込み方法を3つ紹介していくので、場合と状況に応じて使い分けてください。

今回はファイルの読み込みについて解説するよ!
サルモリ

前回の記事です。

CHECK

C# Linq ファイルの書き込み方法を紹介 Linqの抽出結果を書き込むことも可能です。 

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんにちは、サルモ ...

続きを見る

ファイルの読み書きについての記事はこちら

ファイルの内容を1行ずつ読み込む方法

まずはファイルの読み込み方法について解説します。

まずは読み込むファイルを準備しましょう。

読み込むファイルについて

ファイルは下記フォルダにrobot.txtを格納しました。

 folder
D:\test

一応、フォルダの写真も載せておきます。

ファイルの中身は下記ようにロボット名が書かれています。

 robot.txt
Rockman
Roll
Fireman
Iceman

早速、ファイルを読み込んでみます。

ファイルの読み込み方法

 result
Rockman
Roll
Fireman
Iceman

ファイルの内容を出力することができました。

各行の内容について解説します。

ポイント

2行目:StreamReaderを使用するために必要なので、インポートしましょう。

10行目:ファイルのパスを指定しています。@を付けると\のエスケープ文字を指定しなくても良くなります。

11行目:ファイルを読むこむ為のストリームを生成しています。引数にはパスを指定するだけです。usingを使用すると、処理が終わったあとに自動的にファイルのクローズしてくれます。

13行目:ファイルの内容が終わるまで1行ずつ繰り返しを行います。EndOfStreamは内容が終端の場合はtrue、それ以外の場合はfalseを返します。

15行目:ファイルの内容を出力しています。

上記のソースコードを記述すれば、ファイルを読み込むことが可能です。

ストリームを指定するときの引数は第2引数にエンコードを指定することが多いです。

ファイルの内容を1度に読み込む方法

前の読み込み方法はファイルを1行ずつ読み込む方法でしたが、ファイルの内容をメモリに一気に読み込むこともできます。

下記のようにソースコードを記述してください。

ファイルの読み込み方法

 result
Rockman
Roll
Fireman
Iceman

どのように、ファイルの内容を出力できています。

ポイント

11行目:ReadAllLinesを使用することで、ファイルの内容を1度に読み込んでいます。string型の配列として、内容を返してくれます。

1行ずつ読み込むよりもメリットが多いように感じますが、読み込む内容が大きいとメモリが枯渇するので気を付けてください。

ファイルの内容が変わることが想定される場合は、バグの原因となるので使わない方が良いと思います。

ファイルの読み書きについての記事はこちら

ファイルの内容を読み込む方法(Linqを使用するのに適した読み込み方)

3つ目の読み込み方が一番おすすめです。まず、ソースコードを紹介します!

 result
Rockman
Roll
Fireman
Iceman

読み込み方法はReadLinesを使用します。このメソッドのメリットは下記です。

ポイント

・返してくれる型がIEnumerable<String>だからLinqを自由に使用できる。

・実際に行が必要となったタイミングでファイルを読み込んでくれるので、メモリの枯渇も心配ない。

1つ目のメリットはIEnumerable<String>型で返してくれるので、Linqを自由に使用することができます。

なので、下記のように記述することも可能です。

読み込んだファイルにLinqを使用する

 command
Rockman
Fireman
Iceman

条件に指定した内容を取り出すことが出来ています。

1つ目のメリットのみでもとても優秀なのですが、Linqを使うだけであれば、ReadAllLinesメソッドでも使用することが出来ます。

上記のメソッドとの大きな違いは必要となるタイミングで行を読み込むことです。この仕様のおかげメモリ不足でバグになることはなくなります。

処理内容はStreamReaderで1行ずつ読み込むのをイメージして頂ければ良いでしょう。

ReadLinesメソッドの応用的な使い方はこちら

こちらもCHECK

C# Linq ファイルのn番目に文字列を挿入する方法 ReadLinesメソッド、WriteAllLinesメソッドを使用してみよう!

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ 今回は既に内容が書 ...

続きを見る

まとめ

今回はファイルの読み込み方法を3つ紹介しました。

基本的に3つ目に紹介したReadLinesを使うことをおすすめします。

今回はテキストファイルの読み込み方を紹介しましたが、他の拡張ファイルの読み込み方の記事を別記事で書いていきたいと思います。

ここまで記事を読んで頂きありがとうございました。

サルモリ
最後までみてくれてありがとう!”

ファイルの読み書きについての記事はこちら

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。

今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!

 

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

-ファイルの読み込み書き込み

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock