以前に少し試したものの続き。
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();
こんな感じにすることで、お手軽に扱えるのはいいですね。
拡張メソッドなりを使う事で、独自の実装により使い方の幅を広げることもできそうです。