データベースにインポートするためにスクラブしようとしているフラットファイルがあります。レイアウトに一貫性はありませんが、常にフィールド名(可変長のテキストですが、常に9つの単語またはフレーズのいずれか)とそれに続く自由形式のテキストフィールド(最大1024バイトの可変長)で構成されます。1024バイトのフィールドを抽出し、フィールド名全体の列に配置する必要があります。
入力ファイル:
foo-01 bunches of data
foo bar01 more bunches of data including a bunch of notes
foo-01 lots of data lives in this field
foo18 monday notes
...etc.
出力ファイル-区切られ、スペースがトリミングされます
foo-01;foo bar 01;foo18 (<-- header row)
bunches of data; more bunches of data including a bunch of notes; ;
lots of data lives in this field; ; notes
私の戦略はこれです:各行を読んでください。行が9つのフィールド名のいずれかで始まる場合、適切な列位置にあるデリミントされたフラットファイルにサブストリング(フィールド名の後の最初の文字から行の最後の文字まで-スペースはトリミングされます)を書き込みます。
このコードは機能しますが、
if(inputLine.startsWith("foo-01"))
{
String lineVal = inputLine.trim();
int lVLen = lineVal.length();
String outVal = lineVal.substring(17,lVLen);
String outValTrim = outVal.trim();
System.out.println(evalVal+" "+inputLine+" "+outValTrim);
}
else
...etc...
しかし、疑問が生じます。
検討:
String outValTrim = inputLine.trim().substring(17,inputLine.trim().length()).trim();
使用できるメソッドの最大数はいくつですか?例えば、
foo = Stringmethod1.Stringmethod2.StringMethod3()
ステートメント内のメソッドの順序に規則はありますか?
1つのステートメントでメソッドを組み合わせるためのベストプラクティスは何ですか?人間が読める形式ではないと感じており、効率についてはよくわかりません。