Java IO Stream

Java performs I/O through Streams. A Stream is a continuous flow of data.

Streams are clean way to deal with input/output. Java encapsulates Stream

under java.io package. Java defines two types of streams. They are,

1. Byte Stream : It provides a convenient means for handling input and output of byte.

2. Character Stream : It provides a convenient means for handling input and output of

characters. Character stream uses Unicode and therefore can be internationalized.


Java Byte Stream Classes

    Byte stream is defined by using two abstract class at the top of hierarchy, they are 

InputStream and OutputStream.


These two abstract classes have several concrete classes that handle various devices such as disk files, network connection etc.


Some important Byte stream classes 

Stream class Description

BufferedInputStream

Used for Buffered Input Stream.

BufferedOutputStream

Used for Buffered Output Stream.

DataInputStream

Contains method for reading java standard datatype

DataOutputStream

An output stream that contain method for writing java standard data type

FileInputStream

Input stream that reads from a file

FileOutputStream

Output stream that write to a file.

InputStream

Abstract class that describe stream input.

OutputStream

Abstract class that describe stream output.

PrintStream

Output Stream that contain print() and println() method


These classes define several key methods. Two most important are

1. read() : reads byte of data.

2. write() : Writes byte of data.


Java Character Stream Classes

Character stream is also defined by using two abstract class at the top of hierarchy,they are Reader and Writer.





These two abstract classes have several concrete classes that handle unicode character.

Some important Byte stream classes 

Stream class Description

BufferedReader

 Handles buffered input stream.

BufferedWriter

 Handles buffered output stream.

FileReader

 Input stream that reads from file.

FileWriter

 Output stream that writes to file.

InputStreamReader

 Input stream that translate byte to character

OutputStreamReader

 Output stream that translate character to byte.

PrintWriter

 Output Stream that contain print() and println() method.

Reader

  Abstract class that define character stream input

Writer 

 Abstract class that define character stream output


Reading Console Input

We use the object of BufferedReader class to take inputs from the keyboard.


         BufferedReader br=new BufferedReader(InputStreamReader(System.in))

         br ==>  object of BufferedReader

        Input StreamReader  ==> sub class of Reader, converts byte into character

        System.in  ==> used to read Console inputs


Reading Characters

read() method is used with BufferedReader object to read characters. As this function returns integer type value has we need to use typecasting to convert it into char type.

    int read() throws IOException

Below is a simple example explaining character input.

class CharRead

{

public static void main( String args[])

{

BufferedReader br = new Bufferedreader(new

InputstreamReader(System.in));

char c = (char)br.read(); //Reading character

}

Reading Strings in Java

To read string we have to use readLine() function with BufferedReader class's object.

String readLine() throws IOException

Program to take String input from Keyboard in Java

import java.io.*;

class MyInput

{

public static void main(String[] args)

{

String text;

InputStreamReader isr = new InputStreamReader(System.in);

BufferedReader br = new BufferedReader(isr);

text = br.readLine(); //Reading String

System.out.println(text);

}

}


Program to read from a file using BufferedReader class

import java. Io *;

class ReadTest

{

public static void main(String[] args)

{

try

{

File fl = new File("d:/myfile.txt");

BufferedReader br = new BufferedReader(new FileReader(fl)) ;

String str;

while ((str=br.readLine())!=null)

{

System.out.println(str);

}

br.close();

fl.close();

}

catch(IOException e) {

e.printStackTrace();

}

}

}


Program to write to a File using FileWriter class

import java. Io *;

class WriteTest

{

public static void main(String[] args)

{

try

{

File fl = new File("d:/myfile.txt");

String str="Write this string to my file";

FileWriter fw = new FileWriter(fl) ;

fw.write(str);

fw.close();

fl.close();

}

catch (IOException e)

{ e.printStackTrace(); }

}

}

Comments

Popular posts from this blog

Unit 3 : Regression

Operating System - Unit - 4 Memory Management and File Managment

Unit 1 - Introduction to Operating Sytem & Unit 2 - Process Characterization