0
String str1,str2,str3;
String[] inInvoiceLine= new String [36];
inInvoiceLine = Col1.split(","); 
if (rowNum == 1)
 {
   outInvStartDt = inInvoiceLine[0];
  outInvEndDt = inInvoiceLine[1]; 
} 
else if (rowNum == 2)
{
 for( int i = 0; i < inInvoiceLine.length - 1; i++)  
{
names.add(inInvoiceLine[i].trim());}}
else if( rowNum >= 3 && rowNum <= 4)
{
 for( int i = 0; i < inInvoiceLine.length - 1; i++)  
{
str1=(inInvoiceLine[i].trim());
str2=names.get(i);
str3=str2.concat(str1);
names.set(i,str3);
}
}
 else if( rowNum > 4 )
 {
    for( int i = 0; i < inInvoiceLine.length - 1; i++) 
{    
Invoice_Beg_Date=outInvStartDt ;
Invoice_End_date=outInvEndDt ;
      switch (i) 
{
        case 0:  outCarrier = inInvoiceLine[i].trim();
                 break;
        case 1:  outContract = inInvoiceLine[i].trim();
                 break;
        case 2:  outGroup = inInvoiceLine[i].trim();
                 break;
        default: outName = names.get(i);
                outValue = inInvoiceLine[i].trim();


                 generateRow();  the fixed columns.
                 break;
      }  

    } 
}
rowNum++;   

大家好,我在java转换中遇到标题错误,来源是逗号分隔,第一行正在读取日期,第2,3和4行将连接字段并其余值请帮助。

4

2 回答 2

0
It worked. but I have another question .in the above code if you see I am trimming and concatenating the fields.
example: for the rownum2,3 and 4 if the field names are like 'totalfeecount', I need to put the space between each word 'total fee count'. 
what I need to add in the above code to achieve this.

else if( rowNum >= 3 && rowNum <= 4)
{
 for( int i = 0; i < inInvoiceLine.length - 1; i++)  
{
str1=(inInvoiceLine[i].trim());
str2=names.get(i);
str3=str2.concat(str1);
names.set(i,str3);
}
I am guessing this is where i need to give the space option to get the o/p. please help.
于 2016-05-13T19:31:44.273 回答
0

将数组大小更改为可以来自源文件的最大字段数(逗号数 + 1)。例如,如果最多有 50 个逗号,则将数组声明更改为:

String[] inInvoiceLine= new String [51];

如果没有。逗号的数量是任意的,您无法事先决定有多少个逗号,您可以动态创建数组而无需指定其大小。您可以更改以下两行

String[] inInvoiceLine= new String [36];
inInvoiceLine = Col1.split(",");

到以下

String[] inInvoiceLine = Col1.split(",");

这将动态创建数组,而不必担心源文件中有多少逗号。

于 2016-05-13T02:43:05.197 回答