6
私はトークナイザを使用して行にファイルを分割しています:が、違った最初の行を処理
.split().tokenize("\n", 1)
しかし、私が処理する必要があるファイルのいくつかは、ヘッダが含まれていますラインは、通常のラインとは異なる方法で処理する必要があります。最初の行を読み、処理し、残りの行を分割する簡単な方法はありますか?
私はトークナイザを使用して行にファイルを分割しています:が、違った最初の行を処理
.split().tokenize("\n", 1)
しかし、私が処理する必要があるファイルのいくつかは、ヘッダが含まれていますラインは、通常のラインとは異なる方法で処理する必要があります。最初の行を読み、処理し、残りの行を分割する簡単な方法はありますか?
このようなことができます。コンテンツベースのルータEIPを使用し、次に異なるサブルートを使用して処理します。
from(A)
.split().tokenize("\n",1)
.choice()
.when(simple("${property.CamelSplitIndex} > 0"))
.to("direct:processLine")
.otherwise()
.to("direct:processHeader");
from("direct:processLine")
.bean(processLineBean)
.to(B);
from("direct:processHeader")
.bean(processHeaderBean)
.to(B);