SlideShare a Scribd company logo
4
Most read
6
Most read
7
Most read
Standard input, output and
error
Lecture Under Construction
Contents
• Overview of I/O Streams
• Character Streams
• Byte Streams
• Using the Streams
• Object Serialization
• Working with Random Access files
• Standard IO Streams
Overview of I/O Streams
To bring in information, a program opens
a stream on an information source (a file,
memory, a socket) and reads the
information sequentially, as shown in the
following figure.
Similarly, a program can send
information to an external destination
by opening a stream to a destination
and writing the information out
sequentially, as shown in the following
figure.
Overview of I/O STREAMS
Contd.
Overview of I/O streams
Contd..
• The java.io package contains a collection
of stream classes that support algorithms
for reading and writing. To use these
classes, a program needs to import the
java.io package.
• The stream classes are divided into two
class hierarchies, based on the data type
(either characters or bytes) on which they
operate i.e Character Stream and Byte
Stream
Character Streams
• Reader and Writer are the abstract
superclasses for character streams in
java.io.
• Reader provides the API and partial
implementation for readers ( streams
that read 16-bit characters ) and
Writer provides the API and partial
implementation for writers ( streams
that write 16-bit characters).
Character Streams Contd.
• The following figure shows the class
hierarchies for the Reader and Writer
classes.
Byte Streams
• To read and write 8-bit bytes,
programs should use the byte streams,
descendents of InputStream and
OutputStream .
• InputStream and OutputStream
provide the API and partial
implementation for input streams
(streams that read 8-bit bytes) and
output streams (streams that write 8-
bit bytes).
Byte Streams (cont.)
• These streams are typically used to
read and write binary data such as
images and sounds.
• Two of the byte stream classes,
ObjectInputStream and
ObjectOutputStream, are used for
object serialization.
Byte Streams (cont.)
• The class hierarchy for the Reader Class
Byte Stream (cont.)
• Class hierarchy figure for Writer Class
How to Use File Streams
The file streams-- FileReader , FileWriter ,
FileInputStream , and FileOutputStream -- read or
write from a file on the native file system.
Here is simple code to create a file reader
File inputFile = new File("farrago.txt");
FileReader in = new FileReader(inputFile);
FileWriter out = new FileWriter(outputFile);
This reads characters from the reader as long as
there's more input in the input file and writes
those characters to the writer.
How to Use Pipe Streams
• Pipes are used to channel the output
from one thread into the input of
another. PipedReader and PipedWriter
(and their input and output stream
counterparts PipedInputStream and
PipedOutputStream ) implement the
input and output components of a
pipe.
How to wrap a stream
Streams are wrapped to combine the various
features of the many streams.
example code:
BufferedReader in = new
BufferedReader(source);
The code opens a BufferedReader on source,
which is another reader of a different type.
This essentially "wraps" source in a
BufferedReader. The program reads from the
BufferedReader, which in turn reads from
source.
How to Concatenate Files
• The SequenceInputStream creates a single
input stream from multiple input sources.
example code :
ListOfFiles mylist = new ListOfFiles(args);
SequenceInputStream s = new
SequenceInputStream(mylist);
Here, the mylist object is an enumeration
that SequenceInputStream uses to get a new
InputStream whenever it needs one.
Working with Filter Streams
• The java.io package provides a set of abstract
classes that define and partially implement
filter streams. A filter stream filters data as it's
being read from or written to the stream.
• The filter streams are FilterInputStream , and
FilterOutputStream .
• A filter stream is constructed on another
stream (the underlying stream).
Object Serialization
• Two stream classes in java.io,
ObjectInputStream and
ObjectOutputStream, are used to read
and write objects.
• The key to writing an object is to
represent its state in a serialized form
sufficient to reconstruct the object as it
is read. This process is called object
serialization.
Uses of Object Serialization
• Remote Method Invocation (RMI)--
communication between objects via
sockets
• Lightweight persistence--the archival
of an object for use in a later
invocation of the same program.
Working with Random
Access Files
• A random access file permits non-sequential or
random access to a file's contents.
• Using Random Access Files
Unlike the input and output stream classes in
java.io, RandomAccessFile is used for both
reading and writing files. You create a
RandomAccessFile object with different
arguments depending on whether you intend
to read or write.
Standard IO Streams
• There are three standard streams, all of which
are managed by the java.lang.System class
• Standard input--referenced by System.in
– Used for program input, typically reads input
entered by the user.
• Standard output--referenced by System.out
– Used for program output, typically displays
information to the user.
• Standard error--referenced by System.err
– Used to display error messages to the user.
References
• http://java.sun.com/docs/books/tutori
al/essential/TOC.html#io
• http://www.codeguru.com/java/tij/tij
0114.shtml

More Related Content

PPTX
Python-Classes.pptx
PPTX
Packages in java
PPTX
Inheritance in JAVA PPT
PPT
Generics in java
PDF
Generic Programming
PPT
9. Input Output in java
PPT
Exception Handling in JAVA
PPSX
Exception Handling
Python-Classes.pptx
Packages in java
Inheritance in JAVA PPT
Generics in java
Generic Programming
9. Input Output in java
Exception Handling in JAVA
Exception Handling

What's hot (20)

PPTX
Data types in java
PPT
Java exception
PDF
Java I/o streams
PPTX
Classes objects in java
PPTX
Static Data Members and Member Functions
PPS
Jdbc architecture and driver types ppt
PDF
C++ Files and Streams
PDF
Python programming : Classes objects
PPTX
classes and objects in C++
PPTX
Values and Data types in python
PPTX
Java string handling
PPT
Python Control structures
PDF
Command line-arguments-in-java-tutorial
PPTX
Strings in Java
PPTX
Event In JavaScript
PPTX
JAVA AWT
PPTX
Programming in c Arrays
PPT
Synchronization.37
PPTX
Event handling
Data types in java
Java exception
Java I/o streams
Classes objects in java
Static Data Members and Member Functions
Jdbc architecture and driver types ppt
C++ Files and Streams
Python programming : Classes objects
classes and objects in C++
Values and Data types in python
Java string handling
Python Control structures
Command line-arguments-in-java-tutorial
Strings in Java
Event In JavaScript
JAVA AWT
Programming in c Arrays
Synchronization.37
Event handling
Ad

Similar to Input output streams (20)

PPTX
L21 io streams
PPTX
CHAPTER 5 mechanical engineeringasaaa.pptx
PPTX
Chapter 13_m5JAVANOTESAPPLETS,INPUT.pptx
PPTX
Stream In Java.pptx
PDF
Java - File Input Output Concepts
PDF
Advanced programming ch2
PPT
Md121 streams
PPTX
Input & output
PPT
Itp 120 Chapt 19 2009 Binary Input & Output
DOC
Web Technology Web Technology Notes Streams Network Principles and SocketsUni...
PPSX
Java IO, Serialization
PPTX
Session 22 - Java IO, Serialization
PPT
Java development development Files lectur6.ppt
PDF
Chapter 2.1 : Data Stream
PDF
CSE3146-ADV JAVA M2.pdf
PPTX
IOStream.pptx
PPT
Various io stream classes .47
PPT
Various io stream classes .47
PDF
input/ output in java
L21 io streams
CHAPTER 5 mechanical engineeringasaaa.pptx
Chapter 13_m5JAVANOTESAPPLETS,INPUT.pptx
Stream In Java.pptx
Java - File Input Output Concepts
Advanced programming ch2
Md121 streams
Input & output
Itp 120 Chapt 19 2009 Binary Input & Output
Web Technology Web Technology Notes Streams Network Principles and SocketsUni...
Java IO, Serialization
Session 22 - Java IO, Serialization
Java development development Files lectur6.ppt
Chapter 2.1 : Data Stream
CSE3146-ADV JAVA M2.pdf
IOStream.pptx
Various io stream classes .47
Various io stream classes .47
input/ output in java
Ad

More from Parthipan Parthi (20)

PPTX
Inheritance
PPTX
Switch statement mcq
PPTX
Oprerator overloading
PPTX
802.11 mac
PPT
Ieee 802.11 wireless lan
PPTX
Computer network
PPT
Ieee 802.11 wireless lan
PPTX
Session 6
PPT
Queuing analysis
PPTX
Alternative metrics
PPT
PPT
Ieee 802.11 wireless lan
PPTX
Data structures1
PPTX
Data structures 4
PPTX
Data structures2
PPTX
Data structures 3
PPT
Io stream
DOC
Dbms lab questions
PPTX
REVERSIBLE DATA HIDING WITH GOOD PAYLOAD DISTORTIONPpt 3
Inheritance
Switch statement mcq
Oprerator overloading
802.11 mac
Ieee 802.11 wireless lan
Computer network
Ieee 802.11 wireless lan
Session 6
Queuing analysis
Alternative metrics
Ieee 802.11 wireless lan
Data structures1
Data structures 4
Data structures2
Data structures 3
Io stream
Dbms lab questions
REVERSIBLE DATA HIDING WITH GOOD PAYLOAD DISTORTIONPpt 3

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
TLE Review Electricity (Electricity).pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Approach and Philosophy of On baking technology
PDF
Getting Started with Data Integration: FME Form 101
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
1. Introduction to Computer Programming.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
Spectroscopy.pptx food analysis technology
PDF
Unlocking AI with Model Context Protocol (MCP)
Empathic Computing: Creating Shared Understanding
Encapsulation_ Review paper, used for researhc scholars
Heart disease approach using modified random forest and particle swarm optimi...
TLE Review Electricity (Electricity).pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Assigned Numbers - 2025 - Bluetooth® Document
Approach and Philosophy of On baking technology
Getting Started with Data Integration: FME Form 101
Diabetes mellitus diagnosis method based random forest with bat algorithm
Univ-Connecticut-ChatGPT-Presentaion.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
1. Introduction to Computer Programming.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Spectroscopy.pptx food analysis technology
Unlocking AI with Model Context Protocol (MCP)

Input output streams

  • 3. Contents • Overview of I/O Streams • Character Streams • Byte Streams • Using the Streams • Object Serialization • Working with Random Access files • Standard IO Streams
  • 4. Overview of I/O Streams To bring in information, a program opens a stream on an information source (a file, memory, a socket) and reads the information sequentially, as shown in the following figure.
  • 5. Similarly, a program can send information to an external destination by opening a stream to a destination and writing the information out sequentially, as shown in the following figure. Overview of I/O STREAMS Contd.
  • 6. Overview of I/O streams Contd.. • The java.io package contains a collection of stream classes that support algorithms for reading and writing. To use these classes, a program needs to import the java.io package. • The stream classes are divided into two class hierarchies, based on the data type (either characters or bytes) on which they operate i.e Character Stream and Byte Stream
  • 7. Character Streams • Reader and Writer are the abstract superclasses for character streams in java.io. • Reader provides the API and partial implementation for readers ( streams that read 16-bit characters ) and Writer provides the API and partial implementation for writers ( streams that write 16-bit characters).
  • 8. Character Streams Contd. • The following figure shows the class hierarchies for the Reader and Writer classes.
  • 9. Byte Streams • To read and write 8-bit bytes, programs should use the byte streams, descendents of InputStream and OutputStream . • InputStream and OutputStream provide the API and partial implementation for input streams (streams that read 8-bit bytes) and output streams (streams that write 8- bit bytes).
  • 10. Byte Streams (cont.) • These streams are typically used to read and write binary data such as images and sounds. • Two of the byte stream classes, ObjectInputStream and ObjectOutputStream, are used for object serialization.
  • 11. Byte Streams (cont.) • The class hierarchy for the Reader Class
  • 12. Byte Stream (cont.) • Class hierarchy figure for Writer Class
  • 13. How to Use File Streams The file streams-- FileReader , FileWriter , FileInputStream , and FileOutputStream -- read or write from a file on the native file system. Here is simple code to create a file reader File inputFile = new File("farrago.txt"); FileReader in = new FileReader(inputFile); FileWriter out = new FileWriter(outputFile); This reads characters from the reader as long as there's more input in the input file and writes those characters to the writer.
  • 14. How to Use Pipe Streams • Pipes are used to channel the output from one thread into the input of another. PipedReader and PipedWriter (and their input and output stream counterparts PipedInputStream and PipedOutputStream ) implement the input and output components of a pipe.
  • 15. How to wrap a stream Streams are wrapped to combine the various features of the many streams. example code: BufferedReader in = new BufferedReader(source); The code opens a BufferedReader on source, which is another reader of a different type. This essentially "wraps" source in a BufferedReader. The program reads from the BufferedReader, which in turn reads from source.
  • 16. How to Concatenate Files • The SequenceInputStream creates a single input stream from multiple input sources. example code : ListOfFiles mylist = new ListOfFiles(args); SequenceInputStream s = new SequenceInputStream(mylist); Here, the mylist object is an enumeration that SequenceInputStream uses to get a new InputStream whenever it needs one.
  • 17. Working with Filter Streams • The java.io package provides a set of abstract classes that define and partially implement filter streams. A filter stream filters data as it's being read from or written to the stream. • The filter streams are FilterInputStream , and FilterOutputStream . • A filter stream is constructed on another stream (the underlying stream).
  • 18. Object Serialization • Two stream classes in java.io, ObjectInputStream and ObjectOutputStream, are used to read and write objects. • The key to writing an object is to represent its state in a serialized form sufficient to reconstruct the object as it is read. This process is called object serialization.
  • 19. Uses of Object Serialization • Remote Method Invocation (RMI)-- communication between objects via sockets • Lightweight persistence--the archival of an object for use in a later invocation of the same program.
  • 20. Working with Random Access Files • A random access file permits non-sequential or random access to a file's contents. • Using Random Access Files Unlike the input and output stream classes in java.io, RandomAccessFile is used for both reading and writing files. You create a RandomAccessFile object with different arguments depending on whether you intend to read or write.
  • 21. Standard IO Streams • There are three standard streams, all of which are managed by the java.lang.System class • Standard input--referenced by System.in – Used for program input, typically reads input entered by the user. • Standard output--referenced by System.out – Used for program output, typically displays information to the user. • Standard error--referenced by System.err – Used to display error messages to the user.