Download as pdf or txt
Download as pdf or txt
You are on page 1of 104

INSTITUTE : UIE

DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

PipedWriter and PipedReader

DISCOVER . LEARN . EMPOWER


Lecture Objectives

In this lecture, we will discuss:


• PipedWriter and PipedReader

2
PipedWriter
The PipedWriter class is used to write java pipe as a stream of characters.
This class is used generally for writing text. Generally PipedWriter is connected to
a PipedReader and used by different threads.

Constructor:
Methods
PipedReader
The PipedReader class is used to read the contents of a pipe as a stream of
characters. This class is used generally to read text.
PipedReader class must be connected to the same PipedWriter and are used by
different threads.

Constructor:
Example
import java.io.PipedReader;
import java.io.PipedWriter;

public class PipeReaderExample2 {


public static void main(String[] args) {
try {
final PipedReader read = new PipedReader();
final PipedWriter write = new PipedWriter(read);
Thread readerThread = new Thread(new Runnable() {
public void run() {
try {
int data = read.read();
while (data != -1) {
System.out.print((char) data);
data = read.read();
}
} catch (Exception ex) {
}
}
});
Thread writerThread = new Thread(new Runnable() {
public void run() {
try {
write.write("I love my country\n".toCharArray());
} catch (Exception ex) {
}
}
});
readerThread.start();
writerThread.start();
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
}
}
QUIZ:

1. PipedWriter is the sub class of

a. Writer
b. Reader
c. FileReader
d. FileInputStream

2. write(int) mtd of the PipedWriter class throws __________


Exception.
Summary:

In this session, you were able to :

• Learn about PipedWriter and PipedReader


References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Reference Links:
https://www.geeksforgeeks.org/java-io-pipedreader-class-java/
https://www.geeksforgeeks.org/java-io-pipedwriter-class-java/
https://docs.oracle.com/javase/7/docs/api/java/io/PipedReader.html
https://docs.oracle.com/javase/7/docs/api/java/io/PipedWriter.html
https://www.javatpoint.com/java-pipedwriter-class
https://www.javatpoint.com/java-pipedreader-class
THANK YOU
INSTITUTE : UIE
DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

Introduction to Streams: Java FileOutputStream Class

DISCOVER . LEARN . EMPOWER


Lecture Objectives

In this lecture, we will discuss:


• Introduction to Streams
• Java FileOutputStream Class

2
Introduction to Streams
• Java programs perform I/O through streams. A stream is:
– an abstraction that either produces or consumes information
– linked to a physical device by the Java I/O system

• All streams behave similarly, even if the actual physical devices to which they are
linked differ.

• Thus the same I/O classes can be applied to any kind of device as they abstract the
difference between different I/O devices.
• Java’s stream classes are defined in the java.io package.
• Java 2 defines two types of streams:
– byte streams
– character streams
• Byte streams:
– provide a convenient means for handling input and output of bytes
– are used for reading or writing binary data
• Character streams:
– provide a convenient means for handling input and output of
characters
– use Unicode, and, therefore, can be internationalized
Predefined Streams

• System class of the java.lang package contains three predefined stream


variables, in, out, and err.
• These variables are declared as public and static within System:
– System.out refers to the standard output stream which is the
console.
– System.in refers to standard input, which is the keyboard by
default.
– System.err refers to the standard error stream, which also is the
console by default.
Working of Java OutputStream and
InputStream
OutputStream Class
OutputStream class is an abstract class. It is the superclass of all classes representing an output
stream of bytes. An output stream accepts output bytes and sends them to some sink.

Useful methods of OutputStream


OutputStream Hierarchy
InputStream class
InputStream class is an abstract class. It is the superclass of all classes representing an input stream of bytes.

Useful methods of InputStream


InputStream Hierarchy
QUIZ:

Java input output classes are available in __________package


a. java.lang
b. java.io
c. java.util

What are the inbuilt streams available in java.io package


a. System.in
b. System.out
c. System.err
d. All of the above
QUIZ:

Match the streams with the appropriate phrases in column B

Column A Column B

FileInputStream Byte stream for reading from file

FileOutputStream Byte stream for writing to a file


Java FileOutputStream Class
Java FileOutputStream is an output stream used for writing data to
a file.

✓ used to write primitive values into a file.


✓ to write byte-oriented data.

FileOutputStream class declaration


public class FileOutputStream extends OutputStream

13
FileOutputStream class methods

14
Example
Java FileOutputStream Example 1: write byte

import java.io.FileOutputStream;
public class FileOutputStreamExample {
public static void main(String args[]){
try{
FileOutputStream fout=new FileOutputStream("D:\\testout.txt");
Output:
fout.write(65);
Success...
fout.close();
The content of a text file testout.txt is set
System.out.println("success...");
with the data A.
}catch(Exception e){System.out.println(e);}
testout.txt
}
A
}
15
Summary:

In this session, you were able to :


• Learn about Introduction to Streams
• Understand Java FileOutputStream Class
References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Video Lectures :
https://youtu.be/lYuj9nn0PBU

Reference Links:
https://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
https://www.tutorialspoint.com/java/io/index.htm
https://www.tutorialspoint.com/java/io/java_io_fileoutputstream.htm
https://www.javatpoint.com/java-io
https://www.javatpoint.com/java-fileoutputstream-class
THANK YOU
INSTITUTE : UIE
DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

Java FileInputStream Class,


Java ByteArrayOutputStream, Java ByteArrayInputStream
DISCOVER . LEARN . EMPOWER
Lecture Objectives

In this lecture, we will discuss:


• Java FileInputStream Class
• Java ByteArrayOutputStream
• Java ByteArrayInputStream

2
Java FileInputStream Class
The FileInputStream class creates an InputStream that you can use to read bytes from a file.

FileInputStream(String filepath)
FileInputStream(File fileObj) throw a FileNotFoundException

Eg::

FileInputStream f0 = new FileInputStream("/autoexec.bat")


File f = new File("/autoexec.bat");
FileInputStream f1 = new FileInputStream(f);

FileInputStream overrides six of the methods in the abstract class InputStream.

The mark( ) and reset( ) methods are not overridden, and any attempt to use reset( ) on a
FileInputStream will generate an IOException.
Java FileInputStream class methods
Java FileInputStream example 1: read single character
import java.io.FileInputStream;
public class DataStreamExample {
public static void main(String args[]){
try{ FileInputStream fin=new FileInputStream("D:\\testout.txt");
int i=fin.read();
System.out.print((char)i);
fin.close();
}catch(Exception e){System.out.println(e);}
}
}
Note: Before running the code, a text file named "testout.txt" is required to be
created. In this file, we are having the following content:
Welcome to javatpoint.

After executing the above program, you will get a single character from the file
which is 87 (in byte form). To see the text, you need to convert it into character.

Output:
W
Java FileInputStream example 2: read all characters
import java.io.FileInputStream;
public class DataStreamExample {
public static void main(String args[]){
try{
FileInputStream fin=new FileInputStream("D:\\testout.txt");
int i=0;
while((i=fin.read())!=-1){
System.out.print((char)i);
}
fin.close();
}catch(Exception e){
System.out.println(e);
}
}
}
Output:
Welcome to javaTpoint
QUIZ:

Which of these class contains the methods used to write in a file?


a) FileStream
b) FileInputStream
c) Fileinputstream

Which of these exception is thrown in cases when the file specified for
writing is not found?
a) IOException
b) FileException
c) FileNotFoundException
d) FileInputException
ByteArrayOutputStream

ByteArrayOutputStream is an implementation of an output stream that uses a byte


array as the destination.

ByteArrayOutputStream( ) // a buffer of 32 bytes is created


ByteArrayOutputStream(int numBytes)
Java ByteArrayOutputStream class methods
Example
import java.io.*;
class ByteArrayOutputStreamDemo {
public static void main(String args[]) throws IOException {
ByteArrayOutputStream f = new ByteArrayOutputStream();

String s = "This should end up in the array";


byte buf[] = s.getBytes();
f.write(buf);

System.out.println("Buffer as a string");
System.out.println(f.toString());

System.out.println("Into array");
byte b[] = f.toByteArray();
for (int i=0; i<b.length; i++) {
System.out.print((char) b[i]);
}
System.out.println("\nTo an OutputStream()");
OutputStream f2 = new FileOutputStream("test.txt");
f.writeTo(f2);
f2.close();

System.out.println("Doing a reset");
f.reset();
for (int i=0; i<3; i++)
f.write('X');
System.out.println(f.toString());

System.out.println("\nTo an OutputStream()");
OutputStream f3 = new FileOutputStream("test1.txt");
f.writeTo(f3);
f3.close();
Additional:: this example uses the writeTo( ) convenience
} method to write the contents of f to test.txt.
}
ByteArrayInputStream

ByteArrayInputStream is an implementation of an input stream that uses a byte


array as the source.

ByteArrayInputStream(byte array[ ])
ByteArrayInputStream(byte array[ ], int start, int numBytes)

Java ByteArrayInputStream class contains an internal buffer which is used to read


byte array as stream. In this stream, the data is read from a byte array.

The buffer of ByteArrayInputStream automatically grows according to data.


Java ByteArrayInputStream class methods
Example
import java.io.*;
class ByteArrayInputStreamDemo {
public static void main(String args[]) throws IOException { String tmp =
"abcdefghijklmnopqrstuvwxyz";
byte b[] = tmp.getBytes();
ByteArrayInputStream input1 = new ByteArrayInputStream(b);
ByteArrayInputStream input2 = new ByteArrayInputStream(b,0,13);
int c;

while ((c = input1.read()) != -1) {


System.out.print((char) c); }
System.out.println(""); The input1 object contains the complete byte array, while
System.out.println("Second"); input2 contains only the
first thirteen letters.
while ((c = input2.read()) != -1) {
System.out.print((char) c); } } }
QUIZ:

What is the return type of the available method?


a) int
b) Float

Which exception is thrown by the read( ) method of InputStream class.


A) Exception
B) IOException
C) ReadException
D) File Not Found Exception
Summary:

In this session, you were able to :

• Learn about Java FileInputStream Class.


• Learn about Java ByteArrayOutputStream,
Java ByteArrayInputStream
References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Video Lectures :
https://youtu.be/fnFQWtZZE-4
https://youtu.be/5s1FQMoWuJs

Reference Links:
https://docs.oracle.com/javase/7/docs/api/java/io/FileInputStream.html
https://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayInputStream.html
https://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html
https://www.javatpoint.com/java-fileinputstream-class
https://www.javatpoint.com/java-bytearrayoutputstream-class
https://www.javatpoint.com/java-bytearrayinputstream-class
THANK YOU
INSTITUTE : UIE
DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

Java Writer and Java Reader,


Java FileWriter and FileReader
DISCOVER . LEARN . EMPOWER
Lecture Objectives

In this lecture, we will discuss:


• Java Writer and Java Reader,
• Java FileWriter and FileReader

2
Java Writer
Writer is an abstract class that defines streaming character output.

It implements the Closeable, Flushable, and Appendable interfaces.

Constructor
Modifier:: protected
Constructor:: Writer()
Description:: It creates a new character-stream writer whose critical sections will
synchronize on the writer itself.
Methods
Reader
Reader is an abstract class that defines Java’s model of streaming character input.

It implements the Closeable and Readable interfaces.

Constructor
Modifier:: protected
Constructor:: Reader()
Description:: It creates a new character-stream reader whose critical sections will
synchronize on the reader itself.
Methods
FileWriter

FileWriter creates a Writer that you can use to write to a file.

FileWriter(String filePath)
FileWriter(String filePath, boolean append)
FileWriter(File fileObj)
FileWriter(File fileObj, boolean append)

throw an IOException.
FileWriter methods
FileWriter Example
import java.io.*;
class FileWriterDemo {
public static void main(String args[]) throws IOException {

String source = "Now is the time for all good men\n"


+ " to come to the aid of their country\n"
+ " and pay their due taxes.";

char buffer[] = new char[source.length()];

source.getChars(0, source.length(), buffer, 0); //public void getChars(int


srcBegin, int srcEnd, char[] dst, int dstBegin)
FileWriter f0 = new FileWriter("file11.txt",true); creates a sample buffer
for (int i=0; i < buffer.length; i += 2) { of characters by first
f0.write(buffer[i]); making a String and
} then using the
f0.close(); getChars( ) method
to extract the
FileWriter f1 = new FileWriter("file22.txt"); character array
f1.write(buffer); equivalent.
f1.close();

FileWriter f2 = new FileWriter("file33.txt",true);


f2.write(buffer, buffer.length - buffer.length/4, buffer.length/4);
f2.close();
}
}
FileReader

The FileReader class creates a Reader that you can use to read the
contents of a file.

FileReader(String filePath)
FileReader(File fileObj)

throw a FileNotFoundException.
FileReader methods
FileReader Example
import java.io.*;

class FileReaderDemo {
public static void main(String args[]) throws IOException {
FileReader fr = new FileReader("file112.txt");
BufferedReader br = new BufferedReader(fr);
String s;
System.out.println(br.readLine());
//while((s = br.readLine()) != null) {
//System.out.println(s);
//}
fr.close();
br.close(); Shows how to read lines from a file and print
} these to the standard output stream.
}
QUIZ:

FileReader class constructor throws which Exception class object

• FileNotFoundException
• ClassNotFoundException
• StringOutOfBoundsException
• NullPointerException
Summary:

In this session, you were able to :

• Learn about Java Writer and Java Reader


• Learn about Java FileWriter and FileReader
References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Video Lectures :
https://youtu.be/QzL6rGxqMcs
https://youtu.be/6I5bxsXcTug

Reference Links:
https://docs.oracle.com/javase/7/docs/api/java/io/Writer.html
https://docs.oracle.com/javase/7/docs/api/java/io/Reader.html
https://docs.oracle.com/javase/7/docs/api/java/io/FileWriter.html
https://docs.oracle.com/javase/7/docs/api/java/io/FileReader.html
https://www.javatpoint.com/java-writer-class
https://www.javatpoint.com/java-reader-class
https://www.javatpoint.com/java-filewriter-class
https://www.javatpoint.com/java-filereader-class
THANK YOU
INSTITUTE : UIE
DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

CharArrayReader and CharArrayWriter


Object serialization, De-serialization
DISCOVER . LEARN . EMPOWER
Lecture Objectives

In this lecture, we will discuss:


• CharArrayReader and
CharArrayWriter
• Object serialization, De-
serialization

2
CharArrayReader
CharArrayReader is an implementation of an input stream that uses a character array
as the source.

CharArrayReader(char array[ ])
CharArrayReader(char array[ ], int start, int numChars)
Java CharArrayReader class methods
Example
import java.io.*;
public class CharArrayReaderDemo {
public static void main(String args[]) throws IOException {
String tmp = "abcdefghijklmnopqrstuvwxyz";
int length = tmp.length();
char c[] = new char[length];
tmp.getChars(0, length, c, 0); //public void getChars(int srcBegin, int srcEnd,
// char[] dst, int dstBegin)
CharArrayReader input1 = new CharArrayReader(c);
CharArrayReader input2 = new CharArrayReader(c, 0, 5);
int i;
System.out.println("input1 is:");
while((i = input1.read()) != -1) {
System.out.print((char)i);
}
System.out.println();
System.out.println("input2 is:");
while((i = input2.read()) != -1) {
System.out.print((char)i); } input1 object is constructed using the entire lowercase
} alphabet,

} input2 contains only the first five letters.


CharArrayWriter

CharArrayWriter is an implementation of an output stream that uses an


array as the destination.

CharArrayWriter( )
CharArrayWriter(int numChars)
Java CharArrayWriter class methods
Java CharArrayWriter class methods
Example
import java.io.*;
class CharArrayWriterDemo {
public static void main(String args[]) throws IOException {

CharArrayWriter f = new CharArrayWriter();


String s = "This should end up in the array";
char buf[] = new char[s.length()];
s.getChars(0, s.length(), buf, 0);
f.write(buf);

System.out.println("Buffer as a string");
System.out.println(f.toString());
System.out.println("Into array");
char c[] = f.toCharArray();
for (int i=0; i<c.length; i++) {
System.out.print(c[i]);
}
System.out.println("\nTo a FileWriter()");
FileWriter f2 = new FileWriter("test.txt");
f.writeTo(f2);
f2.close();
System.out.println("Doing a reset"); Example demonstrates
f.reset(); CharArrayWriter by reworking the
for (int i=0; i<3; i++) sample program shown earlier for
f.write('X'); ByteArrayOutputStream.
System.out.println(f.toString()); } }
Object serialization

Object serialization is the process of saving an object's state to a sequence of


bytes (on disk), as well as the process of rebuilding those bytes into a
live object at some future time

• The Java Serialization API provides a standard mechanism to handle object


serialization

• You can only serialize the objects of a class that implements Serializable
interface
Object serialization

After a serialized object is written to a file, it can be read from the file and
deserialized (that is we can recreate the object in memory)

• The process of Serialization and DeSerialization is JVM independent. That


is, an object can be serialized on one platform and deserialized on an entirely
different platform.

• Classes ObjectInputStream and ObjectOutputStream are used for


serialization & deserialization.
How to Write to an ObjectOutputStream
FileOutputStream out = new FileOutputStream("theTime");
ObjectOutputStream s = new ObjectOutputStream(out);
s.writeObject("Today");
s.writeObject(new Date());
s.flush();

How to Read from an ObjectOutputStream


FileInputStream in = new FileInputStream("theTime");
ObjectInputStream s = new ObjectInputStream(in);
String today = (String) s.readObject();
Date date = (Date) s.readObject();
Example
import java.io.*;
public class MyClass implements Serializable {
String s;
int i;
double d;
public MyClass(String s, int i, double d) {
this.s = s;
this.i = i;
this.d = d;
}
public String toString() {
return "s=" + s + "; i=" + i + "; d=" + d;
}
}
public class SerializationDemo {
public static void main(String args[]) {
try {
MyClass object1 = new MyClass("Hello", -7, 2.7e10);
System.out.println("object1; " + object1);
FileOutputStream fos = new FileOutputStream("serial");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush();
oos.close();
}
catch(Exception e) {
System.out.println("Exception during serialization:"+ e);
System.exit(0);
}
// Object Deserialization
try {
MyClass object2;
FileInputStream fis = new FileInputStream("serial");
ObjectInputStream ois = new ObjectInputSream(fis);
object2 = (MyClass)ois.readObject();
ois.close();
System.out.println("object2: " + object2);
}
catch(Exception e) {
System.out.println("Exception during deserialization: " + e);
System.exit(0);
}
}
}
The keyword : transient

transient keyword is used in Object Serialization.

By default, when you serialize an object, all its fields are serialized
except for static variables. When you construct this object back from
its persistent state, you will get the values of all the fields that are
serialized(except static variables).

If you do not want to store the value of a particular non-static field,


then you can declare this field as transient.

This keyword is used only with a variable declaration.


QUIZ:

Which of these is a process of writing the state of an object to a byte


stream?
a) Serialization
b) Externalization
c) File Filtering
d) All of the mentioned

Which of these is an interface for control over serialization and


deserialization?
a) Serializable
b) Externalization
c) FileFilter
d) ObjectInput
Summary:

In this session, you were able to :

• Learn about CharArrayReader and CharArrayWriter


• Understand the concept of Object serialization, De-serialization
References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Video Lectures :
https://youtu.be/L2g2dnGu93Y
https://youtu.be/6B6vp0jZnb0

Reference Links:
https://javadoc.scijava.org/Java7/java/io/CharArrayReader.html
https://javadoc.scijava.org/Java7/java/io/CharArrayWriter.html
https://docs.oracle.com/javase/7/docs/api/java/io/CharArrayReader.html
https://docs.oracle.com/javase/7/docs/api/java/io/CharArrayWriter.html
https://www.geeksforgeeks.org/java-io-chararrayreader-class-java/
https://www.geeksforgeeks.org/java-io-chararraywriter-class-java-set-
1/?ref=lbp
THANK YOU
INSTITUTE : UIE
DEPARTMENT : CSE
Bachelor of Engineering (Computer Science & Engineering)
Java Programing(CST-205)
TOPIC OF PRESENTATION:

FilterWriter and FilterReader

DISCOVER . LEARN . EMPOWER


Lecture Objectives

In this lecture, we will discuss:


• FilterWriter and FilterReader

2
FilterWriter
Java FilterWriter class is an abstract class which is used to write filtered character
streams.
The sub class of the FilterWriter should override some of its methods and it may
provide additional methods and fields also.

Constructors
Modifier: protected
Constructor: FilterWriter(Writer out)
Description: It creates InputStream class Object
Methods
Example
class FilterWriterDemo {
public static void main(String[] args) throws Exception {
FilterWriter fr = null;
Writer wr = null;
wr = new StringWriter();
fr = new FilterWriter(wr) {} ;
String str = "Geeksfor";
char c[] = {'G','e','e','k'};
//illustrating write(String str,int off,int len)
fr.write(str);
//illustrating flush()
fr.flush();
//illustrating write(char[] cff,int off,int len)
fr.write(c);
//illustrating write(int c)
fr.write('s');
System.out.print(wr.toString());
//close the stream
fr.close();
}
}
Java.io.FilterReader Class

Introduction
The Java.io.FilterReader class is for reading filtered character streams.

Following are the important points about FilterReader −


The class itself provides default methods that pass all requests to the contained
stream.
The Subclasses of FilterReader should override some of these methods and may also
provide additional methods and fields.
Class declaration

Following is the declaration for Java.io.FilterReader class −


public abstract class FilterReader extends Reader

Class constructors

protected FilterReader(Reader in): This creates a new filtered reader.


Java FilterReader class methods
Example
//Java program illustrating FilterReader class methods
import java.io.*;
class FilterReaderdemo {
public static void main(String[] args) throws IOException {
Reader r = new StringReader("GeeksforGeeks");
FilterReader fr = new FilterReader(r) {
};
char ch[] = new char[8];

//illustrating markSupported()
if(fr.markSupported()) {
//illustrating mark() method
System.out.println("mark method is supported");
fr.mark(100);
}
Example
//illustrating skip() method
fr.skip(5);
//illustrating ready()
if(fr.ready()) {
//illustrating read(char[] cbuff,int off,int len)
fr.read(ch);
for (int i = 0; i < 8; i++) {
System.out.print(ch[i]);
}
//illustrating reset()
fr.reset();
for (int i = 0; i <5 ; i++) {
//illustrating read()
System.out.print((char)fr.read());
} }
//closing the stream
fr.close(); } }
QUIZ:

What class is extended by DataOutputStream class?

a. FilterOutputStream
b. BufferedOutputStream
c. ByteArrayOutputStream
Summary:

In this session, you were able to :

• Learn about FilterWriter and FilterReader


References:
Books:
1. Balaguruswamy, Java.
2. A Primer, E.Balaguruswamy, Programming with Java, Tata McGraw Hill
Companies
3. John P. Flynt Thomson, Java Programming.

Reference Links:
https://docs.oracle.com/javase/7/docs/api/java/io/FilterWriter.html
https://docs.oracle.com/javase/7/docs/api/java/io/FilterReader.html
https://www.javatpoint.com/java-filterreader-class
https://www.javatpoint.com/java-filterwriter-class
https://www.geeksforgeeks.org/java-io-filterwriter-class-java/
https://www.geeksforgeeks.org/java-io-filterreader-class-java/
THANK YOU

You might also like