Java在字串中新增或列印換行符

banq發表於2022-09-18

換行符因作業系統而異。例如,Linux 將換行符視為 \n,有時稱為換行符(LF)。
而在windows作業系統中,新行是透過“\r\n”組合來考慮的,這被稱為回車換行(CRLF)。
可以在字串的任意索引處或字串末尾新增換行符轉義序列,例如“\n”、“\r”和“\r\n”。

在 Unix 中,只有 \n 字元足以將字串分成新行,但在 Windows 中,\r 後面是 \n 字元。因此,Windows 作業系統需要兩個字元的轉義序列。
在開發 Java 應用程式和使用新換行符時,您必須特別注意它們,因為它們嚴格遵循作業系統規則。

始終建議使用System.lineSeparator()方法使用與作業系統無關的新行。因此,現在您無需擔心與作業系統相關的問題。

先看看:不同作業系統的方式:

public class AddNewLineExample1 {

    public static void main(String[] args) {

        String line1 = "Hello engeers";
        String line2 = "hope you are staying safe";

        String line3 = line1 + "\n" + line2;

        System.out.println("Mac or unix or linux newline with \\n");
        System.out.println(line3);
    }
}


public class AddNewLineExample2 {

    public static void main(String[] args) {

        // windows os
        String line1 = "Hello engeers";
        String line2 = "hope you are staying safe";

        String line3 = line1 + "\r\n" + line2;

        System.out.println("windwos print newline with \\r\\n");
        System.out.println(line3);
    }
}


使用舊 Mac OS 在使用“\r”在 java 中列印新行:

public class AddNewLineExample3 {

    public static void main(String[] args) {
        
        // old mac os based
        String line1 = "Hello engeers";
        String line2 = "hope you are staying safe";
        
        String line3 = line1 + "\r" + line2;
        
        System.out.println("Old mac os print newline with \\r");
        System.out.println(line3);
    }
}


為了確保您的程式碼在任何作業系統上始終正常執行,java 提供了一個系統 API 來獨立於 java 程式碼新增新行。
這可以透過以下兩種方式完成。

a) System.lineSeparator()

b) System.getProperty()

public class AddNewLineExample4 {

    public static void main(String[] args) {

        // Using java api system class lineSeparator() method
        String line1 = "Hello engeers";
        String line2 = "hope you are staying safe";

        String line3 = line1 + System.lineSeparator() + line2;

        System.out.println("print newline with System.lineSeparator() method");
        System.out.println(line3);
    }
}
public class AddNewLineExample4 {

    public static void main(String[] args) {

        // Using java api system class getProperty() method
        String line1 = "Hello engeers";
        String line2 = "hope you are staying safe";

        String line3 = line1 + System.getProperty("line.separator") + line2;

        System.out.println("print newline with System.getPropertyr() method");
        System.out.println(line3);
    }
}





使用獨立於系統的"%n":

public class AddNewLineExample5 {

    public static void main(String[] args) {

        // Using system dependent %n
        String line1 = "Hello engeers%nwelcome to the java blog";

        System.out.println("print newline with %n line separator");
        System.out.printf(line1);
    }
}



如果您在 java 程式碼中構建 Html 標記,那麼您有三個選項來新增新的空行。

3.1 Html Break標籤

3.2 換行\n字元

3.3 Unicode 字元

ASCII 碼 13 對應於回車(它是“\r”)。
ASCII 程式碼 10 對應於換行符(它是“\n”)。

public class AddNewLineExample6 {

    public static void main(String[] args) {

        // html break tag
        String tag1 = "<p>hello</p>";
        String tag2 = "<p>world</p>";

        String tag3 = tag1 + "</br>" + tag2;

        // using java \n
        String tag4 = tag1 + "\n" + tag3;

        // using unicodes

        String tag5 = "<p>This is paragraph text and 
 woops there is a new line.</p>";
    }
}

 

相關文章