String str[] = {"1000458551||A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F||1||7707||0||"
+ "0||1002||1373569142000||HTC One||val||4.1.2||0||1.01.20130206.15441^^1000458551||A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F||"
+ "1||7707||0||0||1002||1373569142000||HTC One||val||4.1.2||0||1.01.20130206.15441","1000458551||A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F||1||7707||0||"
+ "0||1002||1373569142000||HTC One||val||4.1.2||0||1.01.20130206.15441^^1000458551||A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F||"
+ "1||7707||0||0||1002||1373569142000||HTC One||val||4.1.2||0||1.01.20130206.15441"};
ByteArrayOutputStream baos = new ByteArrayOutputStream();
for(String p:str){
String Recordstore[] = p.split("\\^\\^");
long len = Recordstore.length;
long counter = 0;
StringBuffer finalRecord = new StringBuffer();
for (String rec : Recordstore) {
rec = rec.replaceAll("\\|\\|", "|");
if (counter != len - 1)
finalRecord.append(rec).append(System.lineSeparator());
else
finalRecord.append(rec);
counter++;
}
baos.write(finalRecord.toString().getBytes());
}
ByteArrayInputStream object = new ByteArrayInputStream(
baos.toByteArray());
String pr="";
for(int y = 0 ; y < 1; y++) {
while((c= object.read())!= -1) {
pr+=(char)c;
}
System.out.println(pr);
object.reset();
}
将字符串转换为字节并重新检查字节后,我看到新行字符丢失,字符串合并在一行中。 如何即使在转换为字节后仍能保留新的行字符?如何在转换为字节后在字符串中保留换行符?
样本输出是: 添加新行的字符串和打印字符串给出:
1000458551 | A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F | 1 | 7707 | 0 | 0 | 1002 | 1373569142000 | HTC一个| VAL | 4.1.2 | 0 | 1.01.20130206.15441 1000458551 | A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F | 1 | 7707 | 0 | 0 | 1002 | 1373569142000 | HTC一个| VAL | 4.1.2 | 0 | 1.01.20130206.15441
将其转换为字节,并打印该字符串后
1000458551 | A2101710 46D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F | 1 | 7707 | 0 | 0 | 1002 | 1373569142000 | HTC一个| VAL | 4.1.2 | 0 | 1.01.20130206.154411000458551 | A210171046D86F9F6EE21B66FE9B1441E20EC1DEF9654A2D092162591C01D26F | 1 | 7707 | 0 | 0 | 1002 | 1373569142000 | HTC一个| VAL | 4.1。 2 | 0 | 1.01.20130206.15441
感谢提前
什么换行符? –
我已将System.lineSeparator()添加到最终记录。但是,在将其转换为字节并重新检查字节后,我没有看到新行。 – user3218089
你的意思是System.getProperty(“line.separator”); ? –