作者:kkq--_771 | 来源:互联网 | 2023-06-09 10:07
首先这里都用到StringBuffer的append()方法
1.StringBuffer拼接字符串,StringBuffer可以存储和操作字符串,即包含多个字符的字符串数据。
String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的
举个简单例子:
StringBuffer stB=new StringBuffer("Hello World!");
stB.append("123");
System.out.println("stB"+stB);
输出结果:
2.StringBuffer拼接字符串数组:
例如:在工作中用到在一个文件的开头和结尾各加几列值,这里就用到StringBuffer拼接字符串数组
①.文件样式:
②下面代码部分:
/*
*读文件并在文件前后拼接列
*BatchBaseBata这个对象根据自己实际参数情况定义
*/
public int loadFile(BatchBaseBata bbb) {
//此处FileTools.readFile(bbb.getWJBCLJ());这个方法就是获取到文件并拿到文件内容,
//返回一个byte数据,里面放的文件内容,读文件方法按照自己需求写
byte[] byt = FileTools.readFile(bbb.getWJBCLJ());
if(byt==null){
Log4jBean.logger.error("读取文件失败["+bbb.getWJBCLJ()+"]");
return -1;
}
String res = null;
try {
res = new String(byt, "UTF-8");// byte[]数组转成字符串并设置编码方式
} catch (UnsupportedEncodingException e1) {
Log4jBean.logger.error("文件[" + bbb.getWJBCLJ() + "读取失败");
return -1;
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = formatter.format(new Date());
String[] fc = res.split("\n");
for (int i = 0; i StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(bbb.getZXBH() + "@|@"); // 前缀第一列
stringBuffer.append(bbb.getSJRQ() + "@|@"); // 前缀第二列
stringBuffer.append(fc[i] + "@|@"); //原始文件内容
stringBuffer.append(nowTime + "@|@"); // 后缀第一列
stringBuffer.append(bbb.getPLBH() + "@|@"); //后缀第二列
stringBuffer.append(bbb.getBCBH()); //后缀第三列
fc[i] = stringBuffer.toString(); //把拼接的列转换成字符串
}
Log4jBean.logger.debug("切割的文件内容为:" + fc[0]);
Log4jBean.logger.info("拼接完的文件为:" + fc);
return 0;
}
拼接完后的效果文件:红色即为拼接在原始文件上的列