当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java BufferedWriter write()用法及代码示例


Java中BufferedWriter类中的write()方法以三种方式使用:

1. Java中BufferedWriter类的write(int)方法用于一次在缓冲区写入器流中写入单个字符。

用法:

public void write(int ch)
            throws IOException

覆盖:该方法覆盖Writer类的write()方法。

参数:此方法接受单个参数ch,该参数代表要写入的字符。



返回值:此方法不返回任何值。

异常:如果发生I /O错误,则此方法将引发IOException。

以下示例程序旨在说明IO包中BufferedWriter类中的write(int)方法:

程序:

// Java program to illustrate 
// BufferedWriter write(int) method 
  
import java.io.*; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Create the string Writer 
        StringWriter stringWriter 
            = new StringWriter(); 
  
        // Convert stringWriter to 
        // bufferedWriter 
        BufferedWriter buffWriter 
            = new BufferedWriter( 
                stringWriter); 
  
        // Write "G" to buffer writer 
        buffWriter.write(71); 
  
        // Write "E" to buffer writer 
        buffWriter.write(69); 
  
        // Write "E" to buffer writer 
        buffWriter.write(69); 
  
        // Write "K" to buffer writer 
        buffWriter.write(75); 
  
        // Write "S" to buffer writer 
        buffWriter.write(83); 
  
        buffWriter.flush(); 
  
        System.out.println( 
            stringWriter.getBuffer()); 
    } 
}
输出:
GEEKS

2. Java中BufferedWriter类的write(String s,int off,int len)方法用于在缓冲区写入器流中写入一部分作为参数传递的字符串。

用法:

public void write(String s,
                  int off,
                  int len)
           throws IOException

覆盖:该方法覆盖Writer类的write()方法。



参数:此方法接受三个参数:

  • s-它代表字符串,其中一部分要写入。
  • off-它代表开始写入的字符串中的索引。
  • len-它表示要写入的字符串部分的长度。

返回值:此方法不返回任何值。

异常:

  • IndexOutOfBoundsException-如果传递的索引为负或传递的部分长度大于给定字符串的长度,则此方法将引发IndexOutOfBoundsException。
  • IOException-如果发生IO错误,则此方法将引发IOException。

注意:如果字符串(len)的部分长度为负或index为负,则此方法应引发IndexOutOfBoundsException,但在这些情况下,此方法不会引发此类异常。在这种情况下,它不写任何字符,而不会引发异常。

以下示例程序旨在说明IO包中BufferedWriter类中的write(String)方法:

程序:

// Java program to illustrate 
// BufferedWriter write(String) method 
  
import java.io.*; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Create the string Writer 
        StringWriter stringWriter 
            = new StringWriter(); 
  
        // Convert stringWriter to 
        // bufferedWriter 
        BufferedWriter buffWriter 
            = new BufferedWriter( 
                stringWriter); 
  
        // Write "GEEKS" to buffer writer 
        buffWriter.write( 
            "GEEKSFORGEEKS", 0, 5); 
  
        buffWriter.flush(); 
  
        System.out.println( 
            stringWriter.getBuffer()); 
    } 
}
输出:
GEEKS

3. Java中BufferedWriter类的write(char [] cbuf,int off,int len)方法用于在缓冲区写入器流中写入一部分作为参数传递的字符数组。此方法通常将数组中的字符存储到流中,并将缓冲区刷新到主流。当缓冲区的长度等于数组的长度时,它可以直接使用主流。

用法:

public void write(char[ ] cbuf,
                  int off,
                  int len)
           throws IOException

指定者:该方法由Writer类的write()方法指定。



参数:此方法接受三个参数:

  • cbuf-它代表字符数组,其中一部分要写入。
  • off-它表示从其开始写入的数组的索引。
  • len-它表示要写入的数组部分的长度。

返回值:此方法不返回任何值。

异常:

  • IndexOutOfBoundsException-如果传递的索引为负或传递的部分长度大于给定字符数组的长度,则此方法将引发IndexOutOfBoundsException。
  • IOException-如果发生IO错误,则此方法将引发IOException。

以下示例程序旨在说明IO包中BufferedWriter类中的write(char [])方法:

程序:

// Java program to illustrate 
// BufferedWriter write(char[ ]) method 
  
import java.io.*; 
  
public class GFG { 
    public static void main(String[] args) 
        throws IOException 
    { 
  
        // Create the string Writer 
        StringWriter stringWriter 
            = new StringWriter(); 
  
        // Convert stringWriter to 
        // bufferedWriter 
        BufferedWriter buffWriter 
            = new BufferedWriter( 
                stringWriter); 
        // Create character array 
        char cbuf[] = { 'G', 'E', 'E', 'K', 
                        'S', 'F', 'O', 'R' }; 
  
        // Write "GEEKS" to buffer writer 
        buffWriter.write(cbuf, 0, 5); 
  
        // Write "FOR" to buffer writer 
        buffWriter.write(cbuf, 5, 3); 
  
        // Again write "GEEKS" to buffer writer 
        buffWriter.write(cbuf, 0, 5); 
  
        buffWriter.flush(); 
  
        System.out.println( 
            stringWriter.getBuffer()); 
    } 
}
输出:
GEEKSFORGEEKS

参考文献:
1. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedWriter.html#write(int)
2. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedWriter.html#write(java.lang.String, int, int)
3. https://docs.oracle.com/javase/10/docs/api/java/io/BufferedWriter.html#write(char%5B%5D, int, int)




相关用法


注:本文由纯净天空筛选整理自pp_pankaj大神的英文原创作品 BufferedWriter write() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。