每月导入数据时给我们开发人员的xlsx号码开头为5和6的号码转换为txt文件时前面的0消失,现要求开发人员手工处理这些号码,由于数据量比较大必须写程序处理,下面是我写的解决此类问题的代码供大家参考学习。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.InputStreamReader;
public class ChangeZ {
public static void main(String[] args){
try{
String filePath = “D://开发文件//XXXXXXX明细2(删减后导入) - 副本.csv”;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));
String str="";
while((str=br.readLine())!=null) {
String s =str;
StringBuilder strb=new StringBuilder();
String[] strstr=s.split(",");
for(int i=0;i<strstr.length;i++){
String sa=strstr[i];
strb.append(sa.replaceAll("^[5|6][0-9]{10}$","0"+sa+"")+",");
}
String strf=strb.toString().substring(0, strb.toString().length()-1);
System.out.println(strf);
}
System.out.println("over");
}catch(Exception e){
System.out.println(e);
}
}
}
这个程序处理结果是输出到控制台的,要保存到文件里可以在这里设置输出到指定文件里