qq_21194023
寂寞不孤单
2016-02-25 03:59
采纳率: 16.7%
浏览 1.5k

mapreduce,java处理操作文件

A文件
1 q*a*z
2 w*s*x
B文件
1 q
1 a
1 z
2 w
2 s
2 x
利用java代码怎么把A文件转变成B文件

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • wojiushiwo945you
    毕小宝 2016-02-25 05:17

    找到转换规律之后,然后就是读取A文件,
    逐行读取readLine(),先用split("空格")将这一行数据进行分割,正常情况能分割成两条记录,然后再对第二条记录进行分割split("星号")
    然后写入文件B中。这个需求还是很简单的。如果你熟悉文件操作的话,大概的伪代码如下:(没有开发环境,仅供参考)

     String value= fileAReader.readLine();
     while(value!=null){
        //空格分隔
            String[] current = value.split(" ");
            if(current!=null&&current.length==2){
                 String first = current[0];
                     String second = current[1];
                     //对A文件的每一行的第二个元素用星号进行分割
                 String[] starSplit = second.split("*");
                     for(String star :starSplit){
                         //将*号分割的数据写入文件B:first+每个星号分割的数据
                             fileBWriter.write(first+star);
                             fileBWriter.newLine();//换行
                     }
            }
    }
    
    
    点赞 评论
  • wojiushiwo945you
    毕小宝 2016-02-25 05:18

    修正一下,上述循环最后一句,循环读取下一行,需要加一句。

     value= fileAReader.readLine();
    
    点赞 评论

相关推荐