io.BufferedWriter class methods in Java


Bufferreader class writes text to character-output stream, buffering characters.Thus, providing efficient writing of single array, character and strings. A buffer size needs to be specified, if not it takes Default value.
An output is immediately set to the underlying character or byte stream by the Writer.

Class Declaration

public class BufferedWriter
   extends Writer

Constructors

  • BufferedWriter(Writer out): Creates a buffered character-output stream that uses a default-sized output buffer.
  • BufferedWriter(Writer out, int size): Creates a new buffered character-output stream that uses an output buffer of the given size.
    Methods:

  • write() : java.io.BufferedWriter.write(int arg) writes a single character that is specified by an integer argument.
    Syntax :
    
    public void write(int arg)
    Parameters : 
    arg : integer that specifies the character to write          
    Return :
    Doesn't return any value.
    

    Implementation :

    
    //Java program illustrating use of write(int arg) method
    
    import java.io.*; 
    public class NewClass
    {
    	public static void main(String[] args)
    	{
    		//initializing FileWriter
    		FileWriter geek_file; 
    		try
    		{
    			geek_file = new FileWriter("ABC.txt");
    			
    			// Initialing BufferedWriter
    			BufferedWriter geekwrite = new BufferedWriter(geek_file);
    			System.out.println("Buffered Writer start writing :)");
    			
    			// Use of write() method to write the value in 'ABC' file
    			// Printing E
    			geekwrite.write(69); 
    			
    			// Printing 1
    			geekwrite.write(49); 
    
    			// Closing BufferWriter to end operation
    			geekwrite.close();
    			System.out.println("Written successfully");
    		}
    		catch (IOException excpt)
    		{
    			excpt.printStackTrace();
    		}
    
    	}
    }
    

    Note : In the given output, you can’t see it’s action on file. Run this code on any compiler in your device. It creates a new file ‘ABC’ and write “E 1 ” in it.

    
    Output : 
    Buffered Writer start writing :)
    Written successfully
    
  • write() : java.io.BufferedWriter.write(String arg, int offset, int length) writes String in the file according to its arguments as mentioned in the Java Code.
    Syntax :
    
    public void write(String arg, int offset, int length)
    Parameters : 
    arg : String to be written
    offset : From where to start reading the string
    length : No. of characters of the string to write          
    Return :
    Doesn't return any value.
    

    Implementation :

    
    //Java program illustrating use of write(String arg, int offset, int length) method
    
    import java.io.*;
    public class NewClass
    {
    	public static void main(String[] args)
    	{
    		//Initializing a FileWriter
    		FileWriter geek_file;
    		try
    		{
    			geek_file = new FileWriter("ABC.txt");
    		
    			// Initializing a BufferedWriter
    			BufferedWriter geekwrite = new BufferedWriter(geek_file);
    			System.out.println("Buffered Writer start writing :)");
    			String arg = "Hello Geeks";
    			int offset = 6;
    			geekwrite.write(arg,offset,arg.length()-offset);
    
    			// Closing Buffer
    			geekwrite.close();
    			System.out.println("Written successfully");
    		}
    		catch (IOException except)
    		{
    			except.printStackTrace();
    		}
    
    
    	}
    }
    

    Note : In the given output, you can’t see it’s action on file. Run this code on any compiler in your device. It creates a new file ‘ABC’ and write “Geeks” in it.Here,

    arg = Hello Geeks
    offset = 6
    length = arg.length So, when we minus offset : 6, it will write 'Geeks' only in the file. 

    Output:

    
    Buffered Writer start writing :)
    Written successfully                                                   
    
  • newLine() : java.io.BufferedWriter.newLine() breaks/separates line.
    Syntax :
    
    public void newLine()       
    Return :
    Doesn't return any value.
    

    Implementation :

    
    //Java program explaining use of newLine() method
    
    import java.io.*; 
    public class NewClass
    {
    	public static void main(String[] args)
    	{
    	    //initializing FileWriter
    		FileWriter geek_file; 
    		try
    		{
    			geek_file = new FileWriter("ABC.txt");
    			
    			// Initialing BufferedWriter
    			BufferedWriter geekwrite = new BufferedWriter(geek_file);
    			System.out.println("Buffered Writer start writing :)");
    			
    			// Use of write() method to write the value in 'ABC' file
                // Printing "GEEKS"
    			geekwrite.write("GEEKS"); 
    			
    			// For next line
    			geekwrite.newLine(); 
    			
    			// Printing "FOR"
    			geekwrite.write("FOR"); 
    			
    			 // For next line
    			geekwrite.newLine();
    			
    			// Printing "GEEKS"
    			geekwrite.write("FOR"); 
    
    			// Closing BufferWriter to end operation
    			geekwrite.close();
    			System.out.println("Written successfully");
    		}
    		catch (IOException excpt)
    		{
    			excpt.printStackTrace();
    		}
    
    	}
    }
    
    

    Note :In the given output, you can’t see it’s action on file. Run this code on any compiler in your device. It creates a new file ‘ABC’ and write write
    | GEEKS |
    | FOR |
    | GEEKS | Here, newLine() method breaks line after GEEKS and FOR is written in next line
    Output :

    
    Buffered Writer start writing :)
    Written successfully
    
  • flush() : java.io.BufferedWriter.flush() flushes character from write buffer.
    Syntax :
    
    public void flush()    
    Return :
    Doesn't return any value.
    
  • close() : java.io.BufferedWriter.close() flushes character from write buffer and then close it.
    Syntax :
    
    public void close()    
    Return :
    Doesn't return any value.
    

    Implementation of flush(), close() method :

    
    //Java program illustrating use of flush(), close() method
    
    import java.io.*; //BufferedWriter, FileWriter, IOException
    public class NewClass
    {
        public static void main(String[] args)
        {
            FileWriter geek_file; //initializing FileWriter
            try
            {
                geek_file = new FileWriter("ABC.txt");
                // Initialing BufferedWriter
                BufferedWriter geekwrite = new BufferedWriter(geek_file);
                System.out.println("Buffered Writer start writing :)");
                // Use of write() method to write the value in 'ABC' file
    
                geekwrite.write(69); // Printing E
                geekwrite.newLine(); // For next line
                geekwrite.write(49); // Printing 1
    
                // flush() method : flushing the stream
                geekwrite.flush();
                // close() method : closing BufferWriter to end operation
                geekwrite.close();
                System.out.println("Written successfully");
            }
            catch (IOException excpt)
            {
                excpt.printStackTrace();
            }
    
        }
    }
    
    

    Note : You can’t see it’s action on file. Run this code on any compiler in your device.It creates a new file ‘ABC’ and write
    | E |
    | 1 |
    in it.Here, flush() method flushes the stream and close() method closes the writer.

    
    Output : 
    Buffered Writer start writing :)
    Written successfully
    

    This article is contributed by Mohit Gupta 🙂. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected] See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.










Writing code in comment? Please use code.geeksforgeeks.org, generate link and share the link here.



Source link

Leave a Reply