问题描述
- 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文件
解决方案
找到转换规律之后,然后就是读取A文件,
逐行读取readLine(),先用split("空格")将这一行数据进行分割,正常情况能分割成两条记录,然后再对第二条记录进行分割split("星号")
然后写入文件B中。这个需求还是很简单的。如果你熟悉文件操作的话,大概的伪代码如下:(没有开发环境,仅供参考)
String value= fileAReader.readLine();
while(value!=null){
//空格分隔
String[] current = value.split(" ");
if(current!=null&¤t.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();//换行
}
}
}
解决方案二:
修正一下,上述循环最后一句,循环读取下一行,需要加一句。
value= fileAReader.readLine();
时间: 2024-12-22 02:51:10