我使用Formatter将Java代码输出到文件。我想在每行的开头添加一定数量的空格。我的问题是我找不到办法“整齐地”做到这一点。标准选项似乎只允许添加最小数量的空格,但不允许添加特定数量的空格。
作为一种解决方法,我目前正在做以下事情:
out.format("%7s%s", "", "My text");
但我只想用这个out.format("%7s", "My text");
这两个参数来做。{/ p>
有没有人知道是否有办法使用标准格式化程序选项?
答案 0 :(得分:0)
您可以将文字添加到字符串中。 重复任何字符串的另一种方法是使用此代码: -
String str = "abc";
String repeated = StringUtils.repeat(str, 3);
这里StringUtils是org.apache.commons.lang3.StringUtils类。
答案 1 :(得分:0)
我不确定你想要什么:
out.format("xxx%10sxxx", "My text");
// prints: xxx My textxxx
虽然:
out.format("xxx%-10sxxx", "My text");
// prints: xxxMy text xxx
据我所知,没有办法用旧的C风格格式来指定像“%* s”这样的参数中的大小,因为那时你可以传入(str.length() + 7)
。
我担心你的方式似乎是最“整洁”的。如果你能解释为什么你不喜欢它,也许我们可以找到一个更好的解决方法。
答案 2 :(得分:0)
String line = "Hello World!";
int numberOfSpaces = 2;
String lineWithSpacePadding = StringUtils.leftPad(line, line.length() + numberOfSpaces);