要在Talend Java Custom组件中使用的Java代码

时间:2016-05-20 15:57:51

标签: java talend data-integration

我编写了一个java问题,将数据从单个列拆分为表格形式。如何在Talend的Java组件中使用相同的代码。

输入文件将有一个列,其中包含以下格式的数据: 1:苹果; 2:Manogo; 3:爽快; 4:浆果;

我用Java编写的代码是:

package com.test;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.text.ParseException;

public class DateDemo {

       public static void main(String[] args) throws ParseException, IOException {
              File file =new File("File.csv");
              BufferedReader br = null;
              br = new BufferedReader(new FileReader(file));
              String line = "";
              while ((line = br.readLine()) != null){
                     System.out.println(line);
                     String[] csvDataArray= line.split(";");
                           for(int i=0;i<csvDataArray.length;i++)
                           {
                                  String[] csvData= csvDataArray[i].split(":");
                                  String id = csvData[0];
                                  String name = csvData[1];
                                  System.out.println("ID "+id+" Name "+name);
                           }
              }

       }

}

我从这段代码得到的输出如下:

ID 1名称Apple

ID 2名称芒果

ID 3名称Cherry

ID 4 Name Berry

如何在Talend中实现相同的功能。

我假设我们必须使用以下组件: tfileinput --- ---主tJava - 主 - tFileoutput

但是如果我在Tjava中粘贴上面的代码,它会给我错误,而它在eclipse中正常运行。

我如何在Talend中实现这一目标。

1 个答案:

答案 0 :(得分:0)

您描述的任务看起来像输入数据的标准规范化。虽然使用tJava组件肯定是一种方法(如果你解决了conding问题),我宁愿建议使用Talends内置组件之一。看看tNormalize

tNormalize component

它允许您定义分隔字符以拆分字符串和包含要拆分的字符串的输入列。