One of the most important feature of any programming language is that is should provide an extensive set of Input/Output methods that fit in different scenarios according to programmers need and they should also be simple and powerful as much as they can. JAVA, a powerful and wonderful language is no exception, it provide a rich set of Input/Output operation.
In this tutorial we will look some of the ways to provided by JAVA to read a simple Text File. We present only three ways to read a simple text file, there are other methods too to achieve the same goal.
Now let the code talk ...
Reading using BufferedReader
private void readFileUsingBufferedReader(String filename){
try{
FileReader fileReader = new FileReader(filename);
BufferedReader bufferReader = new BufferedReader(fileReader);
String fileContents=null;
while((fileContents = bufferReader.readLine()) != null){
// Print to console line by line
System.out.println(fileContents);
}
bufferReader.close();
}
catch(Exception ex){
System.out.println(ex);
}
}
Reading using Scanner
private void readFileUsingScanner(String filename){
try{
File file = new File(filename);
Scanner scanner = new Scanner(file);
// Scanner split content of file
// in tokens by default space
// is the delimiter.
scanner.useDelimiter(System.getProperty("line.separator"));
// line seperator for windows is \n\r
// and for linux is \n
// to make is cross paltform we use System.getProperty method
while (scanner.hasNext()) {
// Print to console line by line
System.out.println(scanner.next());
}
scanner.close();
}
catch(Exception ex){
System.out.println(ex);
}
}
Reading using FileInputStream
private void readfileUsingFileInputStream(String filename){
try{
FileInputStream fileInputStream = new FileInputStream(filename);
int k;
while((k=fileInputStream.read())!=-1){
// input stream read data byte by byte
// so we have to explicitly typecast
// it into char to reval it corresponding
// charater.
System.out.print((char)k);
}
fileInputStream.close();
}
catch(Exception ex){
System.out.println(ex);
}
}
A sample usage of all the above methods... import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.util.Scanner;
/**
*
* @author Originative
*/
public class TextFileReader {
public static void main(String [] nix){
String TEXT_FILE_TO_BE_READ = "c:\\myTextFile.txt";
TextFileReader textFileReader=new TextFileReader();
System.out.println("\n=-=-=-=\n Reading File via BufferedReader \n=-=-=-=\n");
textFileReader.readFileUsingBufferedReader(TEXT_FILE_TO_BE_READ);
System.out.println("\n=-=-=-=\n Reading File via Scanner \n=-=-=-=\n");
textFileReader.readFileUsingScanner(TEXT_FILE_TO_BE_READ);
System.out.println("\n=-=-=-=\n Reading File via FileInputStream \n=-=-=-=\n");
textFileReader.readfileUsingFileInputStream(TEXT_FILE_TO_BE_READ);
}
// paste all methods here :)
}
Sample Output
=-=-=-= Reading File via BufferedReader =-=-=-= Somthing that is going to read by java code by Originative for www.tutorialjinni.com =-=-=-= Reading File via Scanner =-=-=-= Somthing that is going to read by java code by Originative for www.tutorialjinni.com =-=-=-= Reading File via FileInputStream =-=-=-= Somthing that is going to read by java code by Originative for www.tutorialjinni.com

0 comments:
Post a Comment