商品情報、在庫、仕入先情報などのデータを持つテキストファイルタイプがいくつかあり、すべて構造が異なります。構造自体を除くタイプのための他の識別子(ないヘッダなどがないファイル名の規則は存在しない)どのようにテキストファイルの形式を構造によって識別するのですか?
これらのファイルのいくつかの例がありません:
(製品および株式)
2326 | 542212 | Bananas | 00023 | 1 | pack
2326 | 297875 | Apples | 00085 | 1 | bag
2326 | 028371 | Pineapple | 00007 | 1 | can
...
(製品と価格)
12556 Meat, pork 0098.57
58521 Potatoes, mashed 0005.20
43663 Chicken wings 0009.99
...
(製品やサプライヤー - ここでNは、セパレータがある)
03038N92388N9883929
28338N82367N2837912
23002N23829N9339211
...
(製品情報 - 行、複数の種類の)
VIN|Mom & Pops|78 Haley str.
PIN|BLT Bagel|5.79|FRESH
LID|0239382|283746
... (repeats this type of info for different products)
そして他のいくつか。 私は、コンテンツだけを使って、与えられたファイルがこれらの型のどれかを識別する関数を作りたいと思います。私は何の検索用語を使うのか分からないので、Googleは助けにはならなかった。言うまでもなく、「コンテンツ/構造別のファイルタイプを特定する」というのは助けにはならないが、jpgやpdfなどの検索結果を与えるだけである。同様の問題に対処するために他の人が書いたコードを見れば助けになる。
各タイプのFileIdentifierクラスを作成しておき、ファイルを解析すると、それを解析しようとすると次の型に移ります。しかし、それは私にとっては誤りのようです。多くの情報をハードコードする必要があります。また、別のフォーマットが存在し、既存のフォーマットと非常に似ているが、カラムに異なる情報がある場合はどうなりますか?