【VB.Net】テキストファイルを使ったデータ管理の考え方

どうも!リョクちゃです。

テキストファイルについては、読み込みから書き込みまでを以前の記事で紹介してきました。

今回は、小規模なアプリケーションにおけるデータ管理の考え方として、

テキストファイルを使ったデータ管理について、

筆者の考えを紹介してみたく思ったので記事にします。

ちなみにテキストファイルの操作については、下の記事をご参考ください。

VB.Netで指定したテキストファイルを読み取って出力したり、 複数行にわたるテキストファイルを読み取ってコンボボックスに格納する、やり方を紹介しています。
テキストファイルを作成する方法を、フォーム上のボタンが押された後にテキストボックスに入力された文字を書き込むといった例を交えて紹介しています。プログラム上でファイルを作成する方法はいくつかありますが、その中でも一般的に使われているだろう方法を載せています。これをきっかけにイメージをつかんでいただけたらなと思います。
複数のテキストファイルを読み込んで、1つのファイルとして新たにファイルを作成したいとき、そんなときに使える方法を例を交えて紹介しています。ファイル操作を学んでアプリケーション開発のステップアップを目指していただければと思います。

前回の記事はこちら

iniファイルという設定ファイルについて、今回は書き込む方法を例を交えて紹介しています。アプリケーション実行中にiniファイルへ書き込みを行い設定を変更したい場合などに使えるので覚えていただけたらなと思います。



テキストファイルは総称

テキストファイルについては、

ファイルの拡張子に.txtとつくファイルを一般的にテキストファイルと呼んでいます

各OSによって

  • Windowsであればメモ帳で作成ができます。
  • LinuxだとLeafPad等で作成することもできます。
  • Macだと標準インストールされているテキストエディットで作ることができます。
    デフォルトでは、rtf形式になりますが標準テキストにフォーマットを変更することで、txt形式で保存することができます。

また、テキストファイルは.txtで表すといいましたが、

筆者としては、

総称として読ばれる名称だと考えています。

例えば、.csvの拡張子を持つファイルはCSVファイルといわれます。

これも元をたどればテキストファイルです。

同様に設定ファイルのiniファイルも

テキストファイルです。

したがって、下のようなイメージが考えられます。

実は、これらみんな元はテキストファイルです。

これら拡張子なんかはまとめてテキストファイルと呼ぶようにしています。

でないと、プログラムを開発する際に、相手先と一向に話が進まないといったこともあるので……こうした経験から総称で呼ぶようにしています。

また、ファイル形式についてわからないといった方も

当然いるのでわかりやすいようにといった意味もあります。

テキストファイルの使い方・使われ方

アプリケーションによっては、テキストファイルを使って

アプリケーションの設定を書き込んでおくファイルや

プログラムのログを書きだしておくファイルに使われたりします。

だいたい、下のような使われ方が多いです。

  • 設定ファイル
  • プログラムログファイル
  • データ保存用

などが一般出来ではないかと思います。

その中で、設定ファイルについては、iniファイルで残すといったことを以前に紹介しました。

プログラムログについては、一般的にファイルの拡張子を.logにして保存をします。

※これについては別記事で紹介していきます。

データ保存用については、.txt.csvそして.tsvで残されることが多いです。

もちろん.xlsxや.xlsで保存する場合もありますが、

これはExcel独自のファイル形式になるので今回は省いて考えます。

(※扱い方も特殊なので……また、別途紹介の場を設けます。)

使い方の中でもデータ保存用について、

今回はデータ管理の考え方なのでメインに触れていきます。



データ管理にテキストファイルを使う

アプリケーションによっては、センサや計測装置から取得したデータを

保存するアプリケーションもあるかと思います。

もしくはこれから作る可能性が出てくるかもしれません。

ここではセンサや計測装置といったハードウェアから取得されるデータと挙げましたが、

データの中には、これ以外にも例として、

  • 学校在籍生徒のデータ
  • 都道府県ごとの収穫物収穫量
  • 時間別通行量
  • 年齢別好きな食べ物

ようなデータがあります。

(偏った見方はありますが、基本的にデータだらけです。)

これらデータを基本的には紙媒体を使用して記録を私たちはしています。

ですが、最近ではペーパーレスの取り組みなどが顕著になってきたのではないでしょうか

そうした時、考えつくのがアプリで管理していったらいいじゃないか?ではないでしょうか。

だいたいはアプリによってデジタル的に管理するといった意見が多いかと思います。

もう少し深く考えると、アプリで管理するにはどうやって管理したらよいか?

といった疑念が生じるかと思います。

(アプリを作成する側は抱かれるのではないでしょうか?)

一般的にアプリで管理していくには、

  • サーバ+ミドルソフトウェア(データベース)を活用したデータ管理
  • クラウド+ミドルソフトウェア(データベース)を活用したデータ管理
  • アプリケーションを導入したパソコン上でデータを管理

が挙げられます。

最初の2つは、大規模なデータを残す場合に活用されます。

サーバとクラウドで管理する方法が違いますが考え方は同じです。

データをサーバで管理するかクラウドでするかの違いです。

大きくは、コストスペース保守・カスタマイズ性などの比較パラメータがあります。

これらパラメータに基づいて、何が良いか見極めていきます。

※ ここでは詳しく紹介はしません。

一方で、アプリケーションを導入したパソコン上で管理する最もコストがかからずできる方法として、筆者もよく使うテキストファイルにおけるデータ管理です。

ただし、これはあくまで小規模なデータを扱うアプリケーション且つ

アプリを導入したパソコン上でしかデータを管理しない場合にのみ使える考え方です。

ですので、大規模データを扱う場合は、

当然サーバもしくはクラウドでデータ管理をするためのアプリケーションを開発します。

じゃあ、小規模なデータを扱うアプリや

パソコン上でしかデータ管理しないってどんなのがあるの?

これには、偏ってしまいますが、

  • 何らかの部品のOK/NG判定のデータ
  • インターネットへの接続環境がない場所でのデータ取得・管理
  • 点検リスト

といったものを挙げておきます。

その中で、部品のOK/NGのような場合をイメージしたアプリケーションを簡易的に作成してみたので貼っておきます。

イメージだけでもつかんでもらえたらなと思います。

まず下のようなフォーム画面を作成しました。

アプリケーションの動作例

  1. スタートボタンを押すと1秒おきに計測データが取得され、判定(OK/NG)を行います。
  2. ストップボタンを押すと計測データと判定結果をテキストファイルに出力します。
  3. 保存されているデータを表示ボタンを押すことで、
    当日分の検査データがボタン上の領域に表示されます。

このような動作をします。

実際に実行した例を下に表示します。

このようなアプリケーションの場合は、

テキストファイルでのデータ管理でも問題ないかと思います。

ちなみにコードはこちら、簡易的に書いています。

イメージつかみ程度で参考にしていただけたら嬉しいです。

まとめ

テキストファイルでデータ管理をする場合は、

小規模なデータであまり重要性が高くないデータを管理

どうしてもデータベースのコストが出せない場合

などではないでしょうか。

テキストファイルでデータ管理の運用をする場合は、

当たり前のことですがバックアップミラーリングをして、

必ずテキストファイルの複製を用意しておきましょう。

筆者は、テキストファイルで管理をしていく場合が多いので、

良ければ手段としてテキストファイルでデータ管理をしていくことを

アイデアとして持ってもらえたらなと思います。

ご覧いただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク