java字符串位数不够在其后补空格或数字0

本人在与tuxedo进行联调的过程中遇到的这个问题,因为tuxedo采用socket传文件的要求是:

报文长度(4)+传输方式(1位,1-上送文件,2-下传文件)+ 文件名称(63)+ 处理结果(1),

一共是69位,由于文件长度可长可短,如果文件名称不够63位需要用空格占位。

 

 

这种情况可以有2种方式:

一:循环字符串拼接

String space="abc";

 for(int i=0;i<=20;i++){
  space+=" ";

 }

System.out.println("java补空格后字符串的长度:"+space.length());

二:JAVA String.format 方法

System.out.println("java补空格:"+String.format("%1$-35s","a")); //35代表字符串总长度,如果字符串本身不够35,则会在其后补空格凑位数
System.out.println("java补空格后字符串的长度:"+String.format("%1$-35s","a").length());

 

第一种方式补空格或数字0都是可以的,只需要更改for循环里边的space=space+“0”;第2种方式只支持补空格,希望对大家有帮助!

你可能感兴趣的:(java,字符串位数不够,补空格或数字,java基础)