Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java StringWriter 類

在本教程中,我們將借助示例學(xué)習(xí)Java StringWriter及其子類。

java.io包的StringWriter類可用于將數(shù)據(jù)(以字符為單位)寫入字符串緩沖區(qū)。

它繼承了抽象類Writer。

StringWriter類是Java Writer的子類。

注意:在Java中,字符串緩沖區(qū)被認(rèn)為是可變的字符串。也就是說,我們可以修改字符串緩沖區(qū)。要將字符串緩沖區(qū)轉(zhuǎn)換為字符串,可以使用toString()方法。

創(chuàng)建一個StringWriter

為了創(chuàng)建一個StringWriter,我們必須首先導(dǎo)入java.io.StringWriter包。導(dǎo)入包后,就可以創(chuàng)建字符串寫入器了。

//創(chuàng)建 StringWriter
StringWriter output = new StringWriter();

在這里,我們創(chuàng)建了具有默認(rèn)字符串緩沖區(qū)容量的字符串寫入器。但是,我們也可以指定字符串緩沖區(qū)的容量。

//創(chuàng)建具有指定字符串緩沖區(qū)容量的StringWriter
StringWriter output = new StringWriter(int size);

在此,size指定字符串緩沖區(qū)的容量。

StringWriter的方法

StringWriter類為Writer類中提供的不同方法提供實現(xiàn)。

write()方法

  • write() - 向字符串寫入器寫入一個字符

  • write(char[] array) - 將指定數(shù)組中的字符寫入寫入器

  • write(String data) - 將指定的字符串寫入寫入器

示例:Java StringWriter

import java.io.StringWriter;

public class Main {
  public static void main(String[] args) {

    String data = "This is the text in the string.";

    try {
      //創(chuàng)建具有默認(rèn)字符串緩沖區(qū)容量的StringWriter
      StringWriter output = new StringWriter();

      //將數(shù)據(jù)寫入字符串緩沖區(qū)
      output.write(data);

      //打印字符串寫入器
      System.out.println("StringWriter中的數(shù)據(jù): " + output);

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

輸出結(jié)果

StringWriter中的數(shù)據(jù): This is the text in the string.

在上面的示例中,我們創(chuàng)建了一個名為的字符串寫入器output。

StringWriter output = new StringWriter();

然后,我們使用該write()方法將字符串?dāng)?shù)據(jù)寫入字符串緩沖區(qū)。

注意:我們已使用該toString()方法從字符串緩沖區(qū)以字符串形式獲取輸出數(shù)據(jù)。

從StringBuffer訪問數(shù)據(jù)

  • getBuffer() -返回字符串緩沖區(qū)中存在的數(shù)據(jù)

  • toString() -將字符串緩沖區(qū)中存在的數(shù)據(jù)作為字符串返回

例如,

import java.io.StringWriter;

public class Main {
  public static void main(String[] args) {

    String data = "This is the original data";

    try {
      //創(chuàng)建具有默認(rèn)字符串緩沖區(qū)容量的StringWriter
      StringWriter output = new StringWriter();

      //將數(shù)據(jù)寫入字符串緩沖區(qū)
      output.write(data);

      //返回字符串緩沖區(qū)
      StringBuffer stringBuffer = output.getBuffer();
      System.out.println("StringBuffer: " + stringBuffer);

      //以字符串形式返回字符串緩沖區(qū)
      String string = output.toString();
      System.out.println("String: " + string);

      output.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

輸出結(jié)果

StringBuffer: This is the original data
String: This is the original data

在這里,我們使用了getBuffer()方法來獲取字符串緩沖區(qū)中存在的數(shù)據(jù)。 而且toString()方法還以字符串形式返回字符串緩沖區(qū)中存在的數(shù)據(jù)。

close()方法

要關(guān)閉字符串寫入器,我們可以使用close()方法。

但是,close()方法在StringWriter類中無效。即使調(diào)用了close()方法,我們也可以使用此類的方法。

StringWriter的其他方法

方法描述
flush()強制將寫入器中存在的所有數(shù)據(jù)寫入字符串緩沖區(qū)
append()將指定字符插入當(dāng)前寫入器
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清