更新时间:2022-09-01 11:18:21 来源:极悦 浏览12831次
当 Java 开发人员使用字符串格式化并生成将显示在屏幕上的文本输出时,程序员需要在字符串中添加一个新行来格式化输出。这种格式非常重要,因为它使输出对用户来说更具可读性和连贯性。它可以在 Java 中通过向字符串添加换行符来完成。
换行符,也称为行尾 (EOL)、换行符或换行符,是用于表示行尾和新行开始的控制字符,将两者分开。
在包括 Java 在内的各种编程语言中,有多种方法可以在字符串中添加新行。所有这些方法都根据它们的条件和局限性而略有不同。我们将讨论一些在 Java 中向字符串添加换行符的主要方法。
使用转义序列:
Java 中提供了一个转义序列列表。转义序列是一组两个或多个字符,通常以转义字符 (\) 开头,告诉编译器执行函数或命令。
其中两个转义序列用于在 Java 中添加新行:
转义序列 | 描述 |
---|---|
\n | 此时在文本中插入新行。 |
\r | 此时在文本中插入回车。 |
根据您使用的平台,它们都执行相同的任务。大多数支持 Java 的流行操作系统都有不同的转义序列来表示行尾。在 Linux 和新的 Mac 操作系统中,结束行用“\n”表示,也称为换行。在旧的 Mac 操作系统中,开发人员只需要使用“\r”,即回车。最后,在 Windows 操作系统中,开发人员需要同时使用这两个转义序列,“\r\n”。
请参阅下面的示例,此处转义序列用于使用两行文本输出一个段落。第二个应该出现在第一个之后的新行中。
对于 Linux 或 MacOS,以下代码将起作用:
String line01 = "这是第一个字符串。";
String line02 = "这是第二个字符串。";
字符串 newString = line01 + "\n" + line02;
如果我们必须在 Windows 操作系统上执行此操作,则必须使用“\r\n”,因此最后一行代码如下所示:
字符串 newString = line01 + "\r\n" + line02;
在旧的基于 Mac 的操作系统上工作时,最后一行代码应该是这样的:
字符串 newString = line01 + "\r" + line02;
输出:
这是第一个字符串。
这是第二个字符串。
转义序列工作得非常好,但由于它们与平台绑定,因此建议不要使用它们向 Java 中的字符串添加换行符。这是因为在使用多个平台和操作系统时,使用与平台无关的换行符是最无风险的选择,因为它是交叉兼容的。
使用 System.lineSeparator() 方法:
System.lineSeparator() 方法可用于在 java 中分隔两行。它是一个独立于平台的换行符,这意味着无论任何操作系统,它都可以正常工作。您还可以使用 System.getProperty(“line.separator”) 将换行符放入字符串中。
请参阅下面的代码,该代码演示了向字符串添加换行符的 System.lineSeparator() 方法:
公共类NewLineCharacter {
public static void main(String[] args) {
System.out.print("这是第 1 行");
System.out.print(System.lineSeparator());
System.out.print("这是第 2 行");
// 也可以这样写,
System.out.print("这是第 3 行" + System.lineSeparator() + "这是第 4 行");
}
}
输出 :
这是1号线
这是第 2 行
这是3号线
这是4号线
尽管行分隔符提供了平台独立性并完成了工作,但它仍然是分隔符,而不是换行符,因为它限制了编码器连接字符串。开发人员可以像第一个示例中提到的那样单独使用它,也可以将它与连接一起使用。
使用换行符:
还有一种方法可以在不连接多个字符串的情况下将换行符添加到字符串中。可以在字符串中使用换行符“%n”将其拆分并在 java 中添加新行。与包含 System.lineSeparator() 相同,但我们不需要将字符串分成多个部分。看这个例子:
newString = "这是第一个字符串。%n这是第二个字符串。";
输出:
这是第一个字符串。
这是第二个字符串。
现在,问题是为什么我们不直接使用它而跳过所有其他方法。这是一个小而简单的换行符,但有一个小问题。只有在“System.out.printf”或“String.format”语句用于输出字符串时,才可以使用“%n”。如果您一直在使用 System.out.print 打印字符串,那么使用“%n”换行符可能会导致代码中重复出现错误。
使用 BufferedWriter 写入换行符:
我们使用 BufferedWriter 类将文本写入文件。同样,它可用于将文本写入字符串。现在,就像文本一样,换行符也可以添加到字符串中。newline () 方法用于此目的。它用作缓冲写入器流中的写入分隔符。
以下是 newline() 方法的语法:
public void newLine()
抛出 IOException
newline() 方法不需要任何参数,也不返回任何值。如果发生 I/O 错误,或者最常见的情况是找不到文件,它会抛出 IOException。
请参阅下面的代码,使用 newline() 将新行添加到字符串中:
导入java.io.*;
公共类 newLineExample {
public static void main(String[] args)
抛出 IOException
{
// 创建字符串 Writer
StringWriter stringWrite = new StringWriter();
// 将 stringWriter 转换为 bufferedWriter
BufferedWriter buffWriter = new BufferedWriter(stringWriter);
buffWriter.write("这是第一个字符串。");
buffWriter.newLine(); // 使用 newLine() 方法
buffWriter.write("这是第二个字符串。");
buffWriter.flush();
System.out.println(stringWriter.getBuffer());
}
}
输出:
这是第一个字符串。
这是第二个字符串。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习