2013-01-23 12 views
6

मैं एक tokenizer का उपयोग कर लाइनों में एक फ़ाइल बंटवारे हूँ कार्रवाई करने के लिए:कैसे कैमल में लाइनों में एक फ़ाइल विभाजित लेकिन पहली पंक्ति को अलग ढंग से

.split().tokenize("\n", 1) 

हालांकि, फ़ाइलें मैं एक शीर्ष लेख में शामिल होंगे संसाधित करने की जरूरत से कुछ लाइन, जिसे सामान्य लाइनों पर अलग-अलग संसाधित करने की आवश्यकता होगी। क्या पहली पंक्ति को पढ़ने का कोई आसान तरीका है, प्रक्रिया है, फिर शेष पंक्तियों को विभाजित करें?

उत्तर

9

आप ऐसा कुछ कर सकते हैं। यह एक सामग्री आधारित राउटर ईआईपी, फिर प्रसंस्करण के लिए विभिन्न उप मार्गों का उपयोग करेगा।

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); 
संबंधित मुद्दे