学习使用 String.indent() API在Java中缩进(左缩进)字符串。此API已在Java 12中引入。
String.indent(count)API
此方法根据count的值调整给定字符串的每一行的缩进,并标准化行终止符。
/** * count - number of leading white space characters to add or remove * returns - string with indentation adjusted and line endings normalized */ public String indent(int count)
请注意, count string>的值可以是正数或负数。
- positive number – If
count > 0然后在每行的开头插入空格。 - negative number – If
count < 0然后在每行的开头删除空格。 - negative number – If
count > available white spaces然后删除所有前导空格。
每个空格字符都被视为一个字符。特别是,制表符" \ t"被视为单个字符;它不会扩展。
String.indent() 示例
Java程序将白色字符串转换成缩进8个字符的文件。
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
try
{
Path file = Files.createTempFile("testOne", ".txt");
</span><span class="com">//Write strings to file indented to 8 leading spaces</span><span class="pln">
</span><span class="typ">Files</span><span class="pun">.</span><span class="pln">writeString</span><span class="pun">(</span><span class="pln">file</span><span class="pun">,</span><span class="pln"> </span><span class="str">"ABC"</span><span class="pun">.</span><span class="pln">indent</span><span class="pun">(</span><span class="lit">8</span><span class="pun">),</span><span class="pln"> </span><span class="typ">StandardOpenOption</span><span class="pun">.</span><span class="pln">APPEND</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Files</span><span class="pun">.</span><span class="pln">writeString</span><span class="pun">(</span><span class="pln">file</span><span class="pun">,</span><span class="pln"> </span><span class="str">"123"</span><span class="pun">.</span><span class="pln">indent</span><span class="pun">(</span><span class="lit">8</span><span class="pun">),</span><span class="pln"> </span><span class="typ">StandardOpenOption</span><span class="pun">.</span><span class="pln">APPEND</span><span class="pun">);</span><span class="pln">
</span><span class="typ">Files</span><span class="pun">.</span><span class="pln">writeString</span><span class="pun">(</span><span class="pln">file</span><span class="pun">,</span><span class="pln"> </span><span class="str">"XYZ"</span><span class="pun">.</span><span class="pln">indent</span><span class="pun">(</span><span class="lit">8</span><span class="pun">),</span><span class="pln"> </span><span class="typ">StandardOpenOption</span><span class="pun">.</span><span class="pln">APPEND</span><span class="pun">);</span><span class="pln">
</span><span class="com">//Verify the content</span><span class="pln">
</span><span class="typ">Stream</span><span class="pun"><</span><span class="typ">String</span><span class="pun">></span><span class="pln"> lines </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Files</span><span class="pun">.</span><span class="pln">lines</span><span class="pun">(</span><span class="pln">file</span><span class="pun">);</span><span class="pln">
lines</span><span class="pun">.</span><span class="pln">forEach</span><span class="pun">(</span><span class="typ">System</span><span class="pun">.</span><span class="kwd">out</span><span class="pun">::</span><span class="pln">println</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">IOException</span><span class="pln"> e</span><span class="pun">)</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
e</span><span class="pun">.</span><span class="pln">printStackTrace</span><span class="pun">();</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
程序输出。
ABC 123 XYZ