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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。