我正在尝试格式化字符串并将其写入文件。请参阅下面的代码
StringBuilder sb=new StringBuilder();
sb.insert(0, String.format("%-30s", recDataWithWarId.getRiaFirmName() != null ? recDataWithWarId.getRiaFirmName() : " "));
我想要达到的条件是(我已经掌握了下面提到的条件1):
如果recDataWithWarId.getRiaFirmName()
的长度不是30个字符或null,我想用空格填充其余的空格。
如果长度大于30,我还希望将recDataWithWarId.getRiaFirmName()
限制为30,并且我希望此代码会自动执行。
实现这两个条件的最有效方法是什么,而不必为子字符串和一个格式编写冗长的代码?我必须在多个地方这样做,因为这是一个相当大的文本文件。
答案 0 :(得分:6)
您需要在格式字符串中指定精度和宽度。你想要"%-30.30s"
第一个-30
指定该值将在右侧填充为30个字符。小数点后的30
指定最大字符数。