當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java PushbackReader unread()用法及代碼示例


Java中的PushbackReader類的unread()方法具有三種類型:

  1. Java中的PushbackReader類的unread(int c)方法用於通過將字符複製到推回緩衝區的前麵來推回該字符。取消此方法後,讀取下一個字符時,其值等於傳遞的參數。

    用法:

    public void unread(int c)
                throws IOException
    

    參數:該方法接受一個參數c,該參數表示要回退的字符的整數值。

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

    異常:如果推回緩衝區已滿或發生I /O錯誤,則此方法將引發IOException。



    以下示例程序旨在說明IO包中的PushbackReader類的unread(int)方法:

    程序1:

    // Java program to illustrate 
    // PushbackReader unread(int) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Call unread() method 
            pushbackReader.unread(65); 
      
            System.out.print( 
                "\n"
                + (char)pushbackReader.read()); 
        } 
    }
    輸出:
    GEEKS
    A
    

    程序2:

    // Java program to illustrate 
    // PushbackReader unread(int) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKSFORGEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Call unread() method 
            pushbackReader.unread('Z'); 
      
            System.out.print( 
                "\n"
                + (char)pushbackReader.read()); 
        } 
    }
    輸出:
    GEEKSFORGEEKS
    Z
    
  2. Java中PushbackReader類的unread(char [] cbuf)方法用於通過將字符數組複製到推回緩衝區的前麵來推回字符數組。取消此方法後,讀取下一個字符時,其值等於字符數組的第一個元素。

    用法:

    public void unread(char[] cbuf)
                throws IOException
    

    參數:此方法接受一個參數cbuf,它表示要回退的字符數組。

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



    異常:如果推回緩衝區已滿或發生I /O錯誤,則此方法將引發IOException。

    以下示例程序旨在說明IO包中的PushbackReader類的unread(char [])方法:

    程序1:

    // Java program to illustrate 
    // PushbackReader unread(char[]) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Create character array 
            char[] cbuf = new char[] { 'A', 'B', 'C' }; 
      
            // Call unread() method 
            pushbackReader.unread(cbuf); 
      
            System.out.println(); 
      
            for (int i = 0; i < cbuf.length; i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
        } 
    }
    輸出:
    GEEKS
    ABC
    

    程序2:

    // Java program to illustrate 
    // PushbackReader unread(char[]) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKSFORGEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Create character array 
            char[] cbuf = new char[] { 'X', 'Y', 'Z' }; 
      
            // Call unread() method 
            pushbackReader.unread(cbuf); 
      
            System.out.println(); 
      
            for (int i = 0; i < cbuf.length; i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
        } 
    }
    輸出:
    GEEKSFORGEEKS
    XYZ
    
  3. Java中的PushbackReader類的unread(char [] cbuf,int偏移量,int長度)方法用於通過將字符數組的一部分複製到pushback緩衝區的前麵來推回一部分字符數組。取消此方法後,讀取下一個字符時,其值等於給定字符數組中該部分的第一個元素。

    用法:

    public void unread(char[] cbuf,
                       int offset,
                       int length)
                throws IOException
    

    參數:此方法接受三個參數:

    • cbuf-它表示要部分推送的字符數組。
    • offset-它表示字符數組部分的起始索引。
    • length-它表示要推送的字符數。

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

    異常:如果推回緩衝區中沒有足夠的空間或發生I /O錯誤,則此方法將引發IOException。



    以下示例程序旨在說明IO包中的PushbackReader類的unread(char [],int,int)方法:

    程序1:

    // Java program to illustrate 
    // PushbackReader 
    // unread(char[], int, int) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Create character array 
            char[] cbuf 
                = new char[] { 'A', 'B', 'C', 
                               'D', 'E' }; 
      
            // Call unread() method 
            pushbackReader.unread(cbuf, 2, 3); 
      
            System.out.println(); 
      
            for (int i = 0; i < 3; i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
        } 
    }
    輸出:
    GEEKS
    CDE
    

    程序2:

    // Java program to illustrate 
    // PushbackReader 
    // unread(char[], int, int) method 
      
    import java.io.*; 
      
    public class GFG { 
        public static void main(String[] args) 
            throws IOException 
        { 
      
            // Create string 
            String str = "GEEKSFORGEEKS"; 
      
            // Create stringReader 
            StringReader strReader 
                = new StringReader(str); 
      
            // Create object of 
            // PushbackReader 
            PushbackReader pushbackReader 
                = new PushbackReader(strReader, 100); 
      
            for (int i = 0; i < str.length(); i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
      
            // Create character array 
            char[] cbuf 
                = new char[] { 'W', 'X', 
                               'Y', 'Z' }; 
      
            // Call unread() method 
            pushbackReader.unread(cbuf, 1, 3); 
      
            System.out.println(); 
      
            for (int i = 0; i < 3; i++) { 
                System.out.print( 
                    (char)pushbackReader.read()); 
            } 
        } 
    }
    輸出:
    GEEKSFORGEEKS
    XYZ
    

參考文獻:
1. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread(int)
2. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread(char%5B%5D)
3. https://docs.oracle.com/javase/10/docs/api/java/io/PushbackReader.html#unread(char%5B%5D, int, int)




相關用法


注:本文由純淨天空篩選整理自pp_pankaj大神的英文原創作品 PushbackReader unread() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。