【问题标题】:Java Code to be used in Talend Java Custom components在 Talend Java Custom 组件中使用的 Java 代码
【发布时间】:2016-05-20 15:57:50
【问题描述】:

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

输入文件将有一个列,其中包含以下格式的数据: 1:Apple;2:Manogo;3:Cheery;4:Berry;

我用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 名称樱桃

ID 4 名称贝瑞

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

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

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

我如何在 Talend 中实现这一点。

【问题讨论】:

    标签: java talend data-integration


    【解决方案1】:

    您描述的任务看起来像是输入数据的标准规范化。尽管使用tJava 组件肯定是实现此目的的一种方法(前提是您解决了conding 问题),但我宁愿建议使用Talends 内置组件之一。看看tNormalize

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

    【讨论】:

    • 谢谢@markus。我能够将数据分成不同的行,这是我要求的一半。但我也希望数据根据冒号分成两列。截至目前,我正在根据分号获得单独的行,但是一旦我将输入分成行,我也想将新闻行分成两列。我怎样才能做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多