更新時間:2022-09-01 11:18:21 來源:動力節點 瀏覽13975次
當 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天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習