跳過到頁腳內容
JAVA 幫助

在 Java 中使用多行字符串

Java 多行字串,也被稱為文字區塊,顯著簡化了我們在 Java 程式碼中處理長字串的方式。 在它們引入之前,開發者必須連接字串或使用轉義序列來表示新行,這使得源代碼難以閱讀和管理。 本指南將帶您了解 Java 中多行字串的所有內容,確保在結束時,您可以在項目中輕鬆使用它們。 我們還將探索搭配文字區塊的 IronPDF Java Documentation 圖書館。

了解 Java 中的多行字串

多行字串或文字區塊允許您在 Java 程式碼中包含跨多行的字串字面量,而無需使用連接運算符或新行轉義序列。 此功能引入的目的是讓開發者更輕鬆地直接在他們的 Java 應用程式中處理長字串,例如 JSON 或 HTML。

文字區塊介紹

文字區塊是一種多行字串字面量,起始和結尾都用三個雙引號字符(""")標記。 這一新的語法被作為 Java 的標準功能引入,以改善多行字串字面量的可讀性和可寫性。 文字區塊將封閉在開啟和關閉分隔符之間的字符序列視為單個字串字面量,保留行終止符和附帶的空白空間。

用文字區塊創建多行字串

使用文字區塊創建多行字串時,您只需在開始和結尾處用三個雙引號字符括住文字即可。 此方法會自動識別行終止符,允許您在代碼編輯器中跨多行格式化您的字串,以改善可讀性。

String html = """
              <html>
                  <body>
                      <p>Hello, World!</p>
                  </body>
              </html>
              """;
String html = """
              <html>
                  <body>
                      <p>Hello, World!</p>
                  </body>
              </html>
              """;
JAVA

在此示例中,HTML 內容在 Java 程式碼中易於閱讀,展示了如何使用文字區塊包含多行字串字面量而無需轉義序列或字串連接。

使用多行字串

處理行分隔符

使用文字區塊時,Java 編譯器會自動識別行終止符,因此您不需要手動插入 \n 來表示新行。此功能簡化了跨多行創建字串,保證最終字串反映您輸入字串的精確格式。

理解文字區塊中的行終止符和分隔符

在使用 Java 文字區塊創建多行字串時,了解行終止符和行分隔符的作用至關重要。 Java 文字區塊中的行終止符是自動識別的,這意味著您不需要在每行末尾手動添加 \n\r\n 來表示新行。Java 編譯器智能地處理這些,確保最終字串變量在不同的操作系統中保留預期格式。

串接多行字串

儘管文字區塊大大減少了連接字串的需求,但有時您仍需要動態創建多行字串。 您仍然可以使用連接運算符或方法,例如 StringBuilder,來合併文字區塊或將額外的文字附加到多行字串。

String name = "John Doe";
String greeting = """
                  Hello, %s!
                  Welcome to our Java tutorial.
                  """.formatted(name);
String name = "John Doe";
String greeting = """
                  Hello, %s!
                  Welcome to our Java tutorial.
                  """.formatted(name);
JAVA

此示例展示了如何使用 formatted 方法將變量注入到多行字串中,結合文字區塊的簡單性和動態字串操作。

文字區塊中的轉義序列

即使文字區塊自動處理新行和雙引號,您可能仍需要使用轉義序列來進行其他目的,例如插入制表符或特殊字符。 在文字區塊中,轉義序列的作用與在傳統的單行字串字面量中相同。

一致的行新行處理

在文字區塊引入之前創建多行字串的一個挑戰是確保同一字串在不同平台上呈現相同,每個平台可能使用不同的行分隔符(Unix/Linux 使用 \n,Windows 使用 \r\n)。 借助 Java 文字區塊,這一不一致得到了巧妙的解決。 無論基礎操作系統如何,文字區塊都能確保最終字串變量維持源代碼中規定的格式,這要歸功於編譯時的行終止符處理。

Java 文字區塊的實際應用:嵌入 JSON 內容

多行字串可以顯著簡化多個程式設計任務。 考慮一個場景,您需要在您的 Java 程式中包含一個表示配置設置或測試數據的 JSON 字串。 在文字區塊引入之前,此任務涉及繁瑣的字串連接或轉義序列。 現如今,借助 Java 文字區塊,該過程變得簡單明了。

範例代碼

public class App {
    public static void main(String [] args) {
        String query = """
                        {
                          "name": "John Doe",
                          "age": 30,
                          "email": "johndoe@example.com",
                          "isSubscriber": true,
                          "address": {
                            "street": "123 Main St",
                            "city": "Anytown",
                            "zipCode": "12345"
                          }
                        }
                        """;
        System.out.println("JSON String:");
        System.out.println(query);
    }
}
public class App {
    public static void main(String [] args) {
        String query = """
                        {
                          "name": "John Doe",
                          "age": 30,
                          "email": "johndoe@example.com",
                          "isSubscriber": true,
                          "address": {
                            "street": "123 Main St",
                            "city": "Anytown",
                            "zipCode": "12345"
                          }
                        }
                        """;
        System.out.println("JSON String:");
        System.out.println(query);
    }
}
JAVA

輸出

以下是代碼的輸出:

Java 多行字串 (它如何為開發者工作):圖 1 - 來自前面代碼示例的輸出字串

代碼解釋

在給定的代碼中,我們使用 Java 的文字區塊功能,用三個引號 (""") 標記,直接在 Java 代碼中包含一個 JSON 字串。 這一方法消除了繁瑣的字串連接或新行轉義序列的需求,使代碼更簡潔且易於閱讀。 文字區塊自動保留 JSON 字串的格式,包括新行和空格,並呈現出您期望的外觀。

IronPDF for Java 的介紹

Java 多行字串 (它如何為開發者工作):圖 2 - IronPDF for Java 網頁

IronPDF for Java 是一個多功能的圖書館,使 Java 開發者能夠在他們的 Java 應用程式中建立、編輯和轉換 PDF 文件。 此圖書館簡化了PDF 文件的工作,提供了一系列功能,從從 HTML 生成 PDF 到自定義 PDF 內容和屬性。

IronPDF 的一個主要功能是其 HTML 到 PDF 轉換能力,保持您的佈局和樣式。 它從網絡內容生成 PDF,非常適合報告、發票和文檔。 這包括將 HTML 文件、URL 和 HTML 字串轉換為 PDF。

import com.ironsoftware.ironpdf.*;

PdfDocument pdfFromUrl = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
pdfFromUrl.saveAs(Paths.get("UrlToPdf.pdf"));

PdfDocument pdfFromHtmlFile = PdfDocument.renderHtmlFileAsPdf("sample.html");
pdfFromHtmlFile.saveAs(Paths.get("invoice.pdf"));

PdfDocument pdfFromHtmlString = PdfDocument.renderHtmlAsPdf("<p>Hello World From IronPDF Java</p>");
pdfFromHtmlString.saveAs(Paths.get("StringToPdf.pdf"));
import com.ironsoftware.ironpdf.*;

PdfDocument pdfFromUrl = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
pdfFromUrl.saveAs(Paths.get("UrlToPdf.pdf"));

PdfDocument pdfFromHtmlFile = PdfDocument.renderHtmlFileAsPdf("sample.html");
pdfFromHtmlFile.saveAs(Paths.get("invoice.pdf"));

PdfDocument pdfFromHtmlString = PdfDocument.renderHtmlAsPdf("<p>Hello World From IronPDF Java</p>");
pdfFromHtmlString.saveAs(Paths.get("StringToPdf.pdf"));
JAVA

範例

讓我們深入了解一個基本例子,您如何在 Java 項目中使用 IronPDF 創建 PDF 文件。 此範例展示了從簡單 HTML 字串生成 PDF 文件。

import com.ironsoftware.ironpdf.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String [] args) throws IOException, PrinterException {
        // Set your IronPDF License Key
        License.setLicenseKey("Your License Key");

        // HTML content as a multiline string using a text block
        String htmlContent = """
                <html>
                <head>
                <title>PDF Creation Example</title>
                </head>
                <body>
                <h1>Hello, IronPDF!</h1>
                <p>This is a PDF generated from HTML content.</p>
                </body>
                </html>
                """;

        // Generate a PDF document from the HTML content
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);

        // Save the PDF to the specified file path
        pdf.saveAs(Paths.get("c:\\IronPdf\\html.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.awt.print.PrinterException;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String [] args) throws IOException, PrinterException {
        // Set your IronPDF License Key
        License.setLicenseKey("Your License Key");

        // HTML content as a multiline string using a text block
        String htmlContent = """
                <html>
                <head>
                <title>PDF Creation Example</title>
                </head>
                <body>
                <h1>Hello, IronPDF!</h1>
                <p>This is a PDF generated from HTML content.</p>
                </body>
                </html>
                """;

        // Generate a PDF document from the HTML content
        PdfDocument pdf = PdfDocument.renderHtmlAsPdf(htmlContent);

        // Save the PDF to the specified file path
        pdf.saveAs(Paths.get("c:\\IronPdf\\html.pdf"));
    }
}
JAVA

輸出

這是IronPDF for Java 使用多行字串生成的輸出 PDF。

Java 多行字串 (它如何為開發者工作):圖 3 - 來自前面代碼示例的輸出 PDF

結論

Java 多行字串 (它如何為開發者工作):圖 4 - IronPDF 授權頁

總之,Java 的多行字串功能隨著文字區塊的引入,顯著提升了代碼中長字串的可讀性和可管理性,特別是在處理像 JSON 或 HTML 這樣的結構化數據時。 這一 Java 語法的改進簡化了開發過程,使代碼更易於編寫、閱讀和維護。 與 IronPDF 等圖書館集成進一步擴展了 Java 的功能,使開發者能夠在他們的應用程式中輕鬆生成、操作和轉換 PDF 文件。 IronPDF 利用 Java 的強大功能,提供了一種從 HTML 內容創建 PDF的簡單方法,還有其他功能。

值得一提的是,IronPDF 為開發者提供免費試用版 IronPDF以探索其功能,而授權價格從 $799 起,提供了針對不同開發需求的多種選擇。 這將是一項出色的未來投資,將幫助您將 PDF 解決方案推升到下一個水平!

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。