跳過到頁腳內容
JAVA 幫助

在 Java 中使用多行字符串

Java 多行字串(也稱為文字區塊)大大簡化了我們在 Java 程式碼中處理長文字字串的方式。 在引入這些功能之前,開發人員必須連接字串或使用轉義序列來表示換行符,這使得原始程式碼難以閱讀和管理。 本指南將帶您了解 Java 中多行字串的所有內容,確保您在最後能夠輕鬆地在專案中使用它們。 我們也將探索IronPDF Java 文件庫及其文字區塊功能。

理解 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

本範例示範如何使用格式化方法將變數注入多行字串,將文字區塊的簡單性與動態字串操作結合。

文字區塊中的轉義序列

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

新產品線處理的一致性

在引入文字區塊之前,建立多行字串的一大挑戰是確保同一個字串在不同的平台上顯示相同,因為每個平台可能使用不同的行分隔符號(Unix/Linux 使用\n ,Windows 使用\r\n )。 使用 Java 文字區塊可以優雅地解決這種不一致性。 無論底層作業系統是什麼,文字區塊都能確保最終字串變數保持在原始碼中指定的格式,這得益於編譯時對行終止符的處理。

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

多行字串可以大幅簡化許多程式設計任務。 設想這樣一個場景:你需要將表示配置設定或測試資料的 JSON 字串包含在 Java 應用程式中。 在引入文字區塊之前,這項任務需要繁瑣的字串連接或轉義序列。 現在,有了 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 的文字區塊功能(用三引號 ( """標記)將 JSON 字串直接包含在 Java 程式碼中。 這種方法消除了繁瑣的字串連接或換行符號轉義序列的需要,使程式碼更加簡潔易讀。 文字區塊會自動保留 JSON 字串的格式,包括換行符號和空格,完全按照您想要的方式顯示。

IronPDF 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 為開發者提供免費試用版,以便他們可以探索其功能,授權起價為$799 ,提供一系列針對不同開發需求的選項。 這將是一項極具潛力的未來投資,有助於將您的 PDF 解決方案提升到一個新的水平!

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

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

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

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