概要
请编写一个能够从PortfolioSample.txt中只复制指定数字,并以1个txt文件形式输出的Java工具。各文件的说明
 PortfolioSample.txt这个文件的每一行代表一个订单。各行用逗号分隔,从左到右为,订单ID,订单类型,交易对象,交易对象ID,结构ID。右侧的信息是关于每个交易的若干详细信息,这里的详细情报根据交易不同而不同。
结构ID是为了将PortfolioSample.txt中复数的交易整合成一组使用时使用的ID。打个比方,PortfolioSample.txt中有结构ID  649:TEST-45TKY:T3445747:01:0的交易有三件,那么将这三件作为一个结构交易,结构ID是由冒号分割成五部分的。其中左起第三部分成为结构核心ID,同结构ID是一一对应的关系,也就是说,有同样的结构核心ID的结构ID也相同。
 PortfolioComposition.txt
这个文件是将各行需要复制的次数以结构交易来分别表示,各行用逗号来区分,表示为从左到右是结构核心ID,需要复制的次数。内容这个课题需要你编写一个能像概要说明叙述的那样,仅将指定的结构交易的数字复制,并将数据以一个txt文件输出的java工具。以下是条件。
• 复制的交易订单的订单ID的右侧,加上像 “_0001”、“_0002”、…这样的,在每个订单ID上追加数字。
• 复制的交易对象和交易对象ID的右侧,加上像 “_01”、“_02”、 …这样的,在每个交易对象ID上追加数字。但是,交易对象和交易对象ID的追加数字最大为“_99”超过的话,从“_01”开始表示、依次循环。
• 复制的交易结构ID的右侧,加上像 “_0001”、“_0002”、…这样的,在每个结构ID上依次追加数字。
• 请注意:这是,复制的各个结构交易是保有同一个交易对象,交易对象ID,结构ID的。
• 除以上几条外,复制的数据要与原数据相同。示例
结构核心ID:T3445686的情况, 拥有共同核心ID:T3445686共有三行,
从第二次复制开始需要递增右边的序号。
649:TEST-45TKY:T3445747:01:0-BASE_0001,IRGenericQMA,dummyCP_01,dummyLegalId_01,649:TEST-45TKY:T3445747:01:0_0001,…(详细信息省略)
649:TEST-45TKY:T3445747:01:0-RATE_RESET_0001,IRGenericQMA,dummyCP_01,dummyLegalId_01,649:TEST-45TKY:T3445747:01:0_0001,…
649:TEST-45TKY:T3445747:01:0-1_0001,IRGenericQMA,dummyCP_01,dummyLegalId_01,649:TEST-45TKY:T3445747:01:0_0001,…
649:TEST-45TKY:T3445747:01:0-BASE_0002,IRGenericQMA,dummyCP_02,dummyLegalId_02,649:TEST-45TKY:T3445747:01:0_0002,…
649:TEST-45TKY:T3445747:01:0-RATE_RESET_0002,IRGenericQMA,dummyCP_02,dummyLegalId_02,649:TEST-45TKY:T3445747:01:0_0002,…
649:TEST-45TKY:T3445747:01:0-1_0002,IRGenericQMA,dummyCP_02,dummyLegalId_02,649:TEST-45TKY:T3445747:01:0_0002,…
(中略)
649:TEST-45TKY:T3445747:01:0-BASE_0471,IRGenericQMA,dummyCP_75,dummyLegalId_75,649:TEST-45TKY:T3445747:01:0_0471,…
649:TEST-45TKY:T3445747:01:0-RATE_RESET_0471,IRGenericQMA,dummyCP_75,dummyLegalId_75,649:TEST-45TKY:T3445747:01:0_0471,…
649:TEST-45TKY:T3445747:01:0-1_0471,IRGenericQMA,dummyCP_75,dummyLegalId_75,649:TEST-45TKY:T3445747:01:0_0471,…• 复制数据不含空行
• 输出文件的名称和路径可以通过config文件指定。