ひっそりと生きるプログラマのブログ

日頃気になった事なりを書き留めるブログです。関心ごとは多くもう少し更新頻度を上げたいところです。

CommonLibrary.NET を使ってみる - 2 by CSV

saboten-sakura.hatenablog.com

以前に少し試したものの続き。
Csv クラスには静的なメソッドとして、 CanLoad メソッドがあります。
何をしてくれるかというと、名前の通りでロード可能か否かを取得できました。

ファイルのみなので、以下の例では、 タブ区切りのデータを一度ファイルへ出力し、
その出力したファイルを CanLoad で指定しています。
tsvText を引数として指定すると、 csv.Success は false が返ってきます。残念!!
※内部的には Csv クラスの Load メソッドをコールしているようですね。

失敗すると、 Message に例外クラスのメッセージが設定されるようです。
ここでは、単に出力するのみにしています。

string fileName = @"text.tsv";
string tsvText = "head\thead2\thead3\r\n0\t\"data2 - line1\r\ndata2 - line2\"\t\"data3\"";
ComLib.Lang.Plugins.File.Write(fileName, tsvText);

// ファイルを対象とする。
var csv = Csv.CanLoad(fileName, true, false, '\t');
if (csv.Success)
{
    // ファイルからロード成功
}
else
{
    // ファイルからロード失敗
    Console.WriteLine(csv.Message);
}
Console.ReadKey();

こんな感じにすることで、お手軽に扱えるのはいいですね。
拡張メソッドなりを使う事で、独自の実装により使い方の幅を広げることもできそうです。