Reading and Writing text file in Java

Reading and Writing text file in Java

Table of Contents

  1. Introduction to Reading a text File in Java:
  • There are many ways to read a plain text file in Java.
  • We are using FileReader, BufferedReader, and Scanner to read a text file. 
  • This utility provides something special like: 
    • BufferedReader: It provides buffering of data for fast reading. 
    • Scanner: It provides parsing ability.

A. BufferedReader: 

  • The BufferReader reads the text from a character-input stream.
  • It also did buffering for the reading of the characters, arrays, and the lines.

Let’s have an Example:

[box type=”shadow” align=”” class=”” width=””]BufferedReader in = new BufferedReader(Reader in, int size); [/box]

Program:

import java.io.*; 
public class ReadFile
{ 
 public static void main(String[] arg)throws Exception 
 { 
 
 File fi = new File("C:\\Users\\read\\Desktop\\test.txt"); 
 
 BufferedReader br = new BufferedReader(new FileReader(fi)); 
 
 String st; 
 while ((st = br.readLine()) != null) 
 System.out.println(st); 
 } 
}

B. FileReader Class: It is a class for reading character files.

import java.io.*; 
public class ReadingFile 
{ 
 public static void main(String[] arg) throws Exception 
 { 
 FileReader fileread= new FileReader("C:\\Users\\test\\Desktop\\test.txt"); 
 
 int i; 
 while ((i=fileread.read()) != -1) 
 System.out.print((char) i); 
 } 
}

C. Scanner Class: 

  • A scanner which can parse the primitive types and also using strings through regular expressions.
  • A Scanner class can break its input into tokens, which by default matches whitespace. 
  • These resulting tokens may then be converted into values of different types using the various next methods.
// Java Program to illustrate reading from Text File 
// using Scanner Class 
import java.io.File; 
import java.util.Scanner; 
public class ReadFromFileUsingScanner 
{ 
 public static void main(String[] arg) throws Exception 
 { 
 // pass the path to the file as a parameter 
 File file = new File("C:\\Users\\test\\Desktop\\test.txt"); 
 Scanner sc = new Scanner(file); 
 
 while (sc.hasNextLine()) 
 System.out.println(sc.nextLine()); 
 } 
}

2. Introduction to Writing a text File in Java:

a. Java BufferedWriter Class:

  • Java BufferedWriter class is used to provide buffering for Writer instances.
  • It makes the performance fast.
  • It inherits the Writer class.
  • The buffering characters are used for delivering the efficient writing of single arrays, characters, and strings.
  • Creates a buffered character-output stream that uses a default-sized output buffer.

[box type=”shadow” align=”” class=”” width=””]public class BufferedWriter extends Writer [/box]

Program:

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

b) Java FileWriter Class

  • This class is used to write character-oriented data to a file.
  • It is a character-oriented class which is used for file handling in java.
  • Unlike the FileOutputStream class, you don’t need to convert the string into a byte array because it provides a method to write string directly.

[box type=”shadow” align=”” class=”” width=””]public class FileWriter extends OutputStreamWriter [/box]

 Program:   

 import java.io.FileWriter; 
 public class FileWriterExample { 
 public static void main(String args[]){ 
 try{ 
 FileWriter fw=new FileWriter("D:\\testout.txt"); 
 fw.write("Welcome"); 
 fw.close(); 
 }
catch(Exception e)
{
System.out.println(e);
} 
 System.out.println("Success..."); 
 } 
 }

2 Responses

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Share this article
Subscribe
By pressing the Subscribe button, you confirm that you have read our Privacy Policy.
Need a Free Demo Class?
Join H2K Infosys IT Online Training
Enroll Free demo class