SlideShare a Scribd company logo
STREAMS AND INPUT / OUTPUT
FILES
Presentation By: Shehrevar Davierwala
Visit: http://www.authorstream.com/shehrevard
http://www.slideshare.net/shehrevard
http://sites.google.com/sites/techwizardin
1
INTRODUCTION
 So far we have used variables and arrays for
storing data inside the programs. This approach
poses the following limitations:
 The data is lost when variable goes out of scope or when
the program terminates. That is data is stored in
temporary/mail memory is released when program
terminates.
 It is difficult to handle large volumes of data.
 We can overcome this problem by storing data on
secondary storage devices such as floppy or hard
disks.
 The data is stored in these devices using the
concept of Files and such data is often called
persistent data. 2
CompiledBy:ShehrevarDavierwla
FILE PROCESSING
 Storing and manipulating data using files
is known as file processing.
 Reading/Writing of data in a file can be
performed at the level of bytes,
characters, or fields depending on
application requirements.
 Java also provides capabilities to read and
write class objects directly. The process of
reading and writing objects is called object
serialisation. 3
CompiledBy:ShehrevarDavierwla
C INPUT/OUTPUT REVISION
FILE* fp;
fp = fopen(“In.file”, “rw”);
fscanf(fp, ……);
frpintf(fp, …..);
fread(………, fp);
fwrite(……….., fp);
4
CompiledBy:ShehrevarDavierwla
I/O AND DATA MOVEMENT
 The flow of data into a program
(input) may come from different
devices such as keyboard,
mouse, memory, disk, network,
or another program.
 The flow of data out of a
program (output) may go to the
screen, printer, memory, disk,
network, another program.
 Both input and output share a
certain common property such as
unidirectional movement of data
– a sequence of bytes and
characters and support to the
sequential access to the data.
5
STREAMS
 Java Uses the concept of
Streams to represent the
ordered sequence of data, a
common characteristic
shared by all I/O devices.
 Streams presents a uniform,
easy to use, object oriented
interface between the
program and I/O devices.
 A stream in Java is a path
along which data flows (like a
river or pipe along which
water flows).
6
STREAM TYPES
7
 The concepts of
sending data from one
stream to another
(like a pipe feeding
into another pipe) has
made streams
powerful tool for file
processing.
 Connecting streams
can also act as filters.
 Streams are classified
into two basic types:
 Input Steam
 Output Stream
Source Program
Input Stream
reads
SourceProgram
Output Stream
writes
CompiledBy:ShehrevarDavierwla
JAVA STREAM CLASSES
Input/Output related classes are
defined in java.io package.
Input/Output in Java is defined in
terms of streams.
A stream is a sequence of data, of no
particular length.
Java classes can be categorised into
two groups based on the data type one
which they operate:
Byte streams
Character Streams 8
CompiledBy:ShehrevarDavierwla
STREAMS
9
Byte Streams Character streams
Operated on 8 bit (1
byte) data.
Operates on 16-bit
(2 byte) unicode
characters.
Input streams/Output
streams
Readers/ Writers
CompiledBy:ShehrevarDavierwla
CLASSIFICATION OF JAVA
STREAM CLASSES
10
Byte Stream
classes
Character Stream
classes
CompiledBy:ShehrevarDavierwla
11
BYTE INPUT STREAMS
InputStream
ObjectInputStream
SequenceInputStream
ByteArrayInputStream
PipedInputStream
FilterInputStream
PushbackInputStream
DataInputStream
BufferedInputStream
CompiledBy:ShehrevarDavierwla
BYTE INPUT STREAMS - OPERATIONS
public abstract int read() Reads a byte and returns as a
integer 0-255
public int read(byte[] buf, int
offset, int count)
Reads and stores the bytes in buf
starting at offset. Count is the
maximum read.
public int read(byte[] buf) Same as previous offset=0 and
length=buf.length()
public long skip(long count) Skips count bytes.
public int available() Returns the number of bytes that
can be read.
public void close() Closes stream
12
BYTE INPUT STREAM - EXAMPLE
 Count total number of bytes in the file
13
import java.io.*;
class CountBytes {
public static void main(String[] args)
throws FileNotFoundException, IOException
{
FileInputStream in;
in = new FileInputStream(“InFile.txt”);
int total = 0;
while (in.read() != -1)
total++;
System.out.println(total + “ bytes”);
}
}
CompiledBy:ShehrevarDavierwla
WHAT HAPPENS IF THE FILE
DID NOT EXIST
 JVM throws exception and terminates the
program since there is no exception handler
defined.
[add@mundroo] Streams [1:165] java CountBytes
Exception in thread "main"
java.io.FileNotFoundException: FileIn.txt (No
such file or directory)
at java.io.FileInputStream.open(Native
Method)
at
java.io.FileInputStream.<init>(FileInputStream.j
ava:64)
at CountBytes.main(CountBytes.java:12) 14
CompiledBy:ShehrevarDavierwla
15
BYTE OUTPUT STREAMS
OutputStream
ObjectOutputStream
SequenceOutputStream
ByteArrayOutputStream
PipedOutputStream
FilterOutputStream
PrintStream
DataOutputStream
BufferedOutputStream
CompiledBy:ShehrevarDavierwla
BYTE OUTPUT STREAMS - OPERATIONS
public abstract void write(int b) Write b as bytes.
public void write(byte[] buf, int
offset, int count)
Write count bytes starting from
offset in buf.
public void write(byte[] buf) Same as previous offset=0 and
count = buf.length()
public void flush() Flushes the stream.
public void close() Closes stream
16
BYTE OUTPUT STREAM - EXAMPLE
 Read from standard in and write to standard out
17
import java.io.*;
class ReadWrite {
public static void main(string[] args)
throws IOException
{
int b;
while (( b = System.in.read()) != -1)
{
System.out.write(b);
}
}
CompiledBy:ShehrevarDavierwla
SUMMARY
 Streams provide uniform interface for managing
I/O operations in Java irrespective of device
types.
 Java supports classes for handling Input Steams
and Output steams via java.io package.
 Exceptions supports handling of errors and their
propagation during file operations.
18
CompiledBy:ShehrevarDavierwla

More Related Content

PPT
Input output streams
PPTX
Reading and Writing Files
PDF
PPTX
C# File IO Operations
PDF
Lecture 23
PPTX
File Handling in Java Oop presentation
PPT
File handling
PPTX
31cs
Input output streams
Reading and Writing Files
C# File IO Operations
Lecture 23
File Handling in Java Oop presentation
File handling
31cs

What's hot (20)

PDF
Basic i/o & file handling in java
PPTX
File Handling
PPTX
Chapter 10.3
PDF
Java IO
PPTX
Basic of java
PPTX
Filehandling
PPTX
File handling in vb.net
PPT
Character stream classes .52
PPT
Javaio
PPSX
PPTX
32sql server
PDF
C++ Files and Streams
PPTX
Chapter 10.1
PPTX
30csharp
PPT
PPT
Itp 120 Chapt 19 2009 Binary Input & Output
PDF
Python reading and writing files
PPT
File handling
PDF
08. handling file streams
PPT
Chapter 12 - File Input and Output
Basic i/o & file handling in java
File Handling
Chapter 10.3
Java IO
Basic of java
Filehandling
File handling in vb.net
Character stream classes .52
Javaio
32sql server
C++ Files and Streams
Chapter 10.1
30csharp
Itp 120 Chapt 19 2009 Binary Input & Output
Python reading and writing files
File handling
08. handling file streams
Chapter 12 - File Input and Output
Ad

Similar to Jstreams (20)

PPTX
File Handling.pptx
PPT
Javaio
PPTX
file_handling_python_bca_computer_python
PPTX
Input output files in java
PDF
CSE3146-ADV JAVA M2.pdf
PDF
Java - File Input Output Concepts
PPTX
File Management and manipulation in C++ Programming
PPTX
Java programming Chapter 4.pptx
PPTX
chapter 2(IO and stream)/chapter 2, IO and stream
PPTX
IOStream.pptx
PDF
Java I/o streams
PPTX
Data file handling in c++
PPTX
Unit No 5 Files and Database Connectivity.pptx
PDF
23CS101T PSPP python program - UNIT 5.pdf
PDF
file_c.pdf
PPT
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
PDF
JAVA 4.pdfdhfvksfvhsjfbjhdjhbjshjshjvcjdbh
PDF
11_Str11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.eams.pdf
File Handling.pptx
Javaio
file_handling_python_bca_computer_python
Input output files in java
CSE3146-ADV JAVA M2.pdf
Java - File Input Output Concepts
File Management and manipulation in C++ Programming
Java programming Chapter 4.pptx
chapter 2(IO and stream)/chapter 2, IO and stream
IOStream.pptx
Java I/o streams
Data file handling in c++
Unit No 5 Files and Database Connectivity.pptx
23CS101T PSPP python program - UNIT 5.pdf
file_c.pdf
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
JAVA 4.pdfdhfvksfvhsjfbjhdjhbjshjshjvcjdbh
11_Str11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.eams.pdf
Ad

More from Shehrevar Davierwala (20)

PDF
Introduction_Swift
PPTX
PsudoCode.pptx
PPTX
Number System.pptx
PPTX
Java Script (Module 1).pptx
PPTX
Website in Clicks Day 2
PPTX
Develop Website in Clicks
PPTX
Build Virtual Assistant Using AI
PPTX
Build brand reputation using facebook
PPTX
Digital Marketing Session 2
PPTX
Learn Digital Marketing : 0 to Hero Day 1
DOC
Standard template
PPT
Digital Marketing for Sustainable Business - Afghan Perspective
PPT
Developing stunning website in clicks - 2
PPT
Developing stunning website in clicks
PPTX
Google forms for data analysis
PPT
Webdesign session1
PPT
Tech talk webtech
PPT
Tech talk php_cms
PPT
PPT
Introduction_Swift
PsudoCode.pptx
Number System.pptx
Java Script (Module 1).pptx
Website in Clicks Day 2
Develop Website in Clicks
Build Virtual Assistant Using AI
Build brand reputation using facebook
Digital Marketing Session 2
Learn Digital Marketing : 0 to Hero Day 1
Standard template
Digital Marketing for Sustainable Business - Afghan Perspective
Developing stunning website in clicks - 2
Developing stunning website in clicks
Google forms for data analysis
Webdesign session1
Tech talk webtech
Tech talk php_cms

Recently uploaded (20)

PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
PDF
Computing-Curriculum for Schools in Ghana
PDF
Weekly quiz Compilation Jan -July 25.pdf
PPTX
History, Philosophy and sociology of education (1).pptx
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
PPTX
Lesson notes of climatology university.
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
Indian roads congress 037 - 2012 Flexible pavement
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
1_English_Language_Set_2.pdf probationary
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Classroom Observation Tools for Teachers
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Orientation - ARALprogram of Deped to the Parents.pptx
Computing-Curriculum for Schools in Ghana
Weekly quiz Compilation Jan -July 25.pdf
History, Philosophy and sociology of education (1).pptx
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
GENETICS IN BIOLOGY IN SECONDARY LEVEL FORM 3
A powerpoint presentation on the Revised K-10 Science Shaping Paper
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Lesson notes of climatology university.
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
Indian roads congress 037 - 2012 Flexible pavement
Chinmaya Tiranga quiz Grand Finale.pdf
1_English_Language_Set_2.pdf probationary
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
Final Presentation General Medicine 03-08-2024.pptx
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Classroom Observation Tools for Teachers
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
202450812 BayCHI UCSC-SV 20250812 v17.pptx

Jstreams

  • 1. STREAMS AND INPUT / OUTPUT FILES Presentation By: Shehrevar Davierwala Visit: http://www.authorstream.com/shehrevard http://www.slideshare.net/shehrevard http://sites.google.com/sites/techwizardin 1
  • 2. INTRODUCTION  So far we have used variables and arrays for storing data inside the programs. This approach poses the following limitations:  The data is lost when variable goes out of scope or when the program terminates. That is data is stored in temporary/mail memory is released when program terminates.  It is difficult to handle large volumes of data.  We can overcome this problem by storing data on secondary storage devices such as floppy or hard disks.  The data is stored in these devices using the concept of Files and such data is often called persistent data. 2 CompiledBy:ShehrevarDavierwla
  • 3. FILE PROCESSING  Storing and manipulating data using files is known as file processing.  Reading/Writing of data in a file can be performed at the level of bytes, characters, or fields depending on application requirements.  Java also provides capabilities to read and write class objects directly. The process of reading and writing objects is called object serialisation. 3 CompiledBy:ShehrevarDavierwla
  • 4. C INPUT/OUTPUT REVISION FILE* fp; fp = fopen(“In.file”, “rw”); fscanf(fp, ……); frpintf(fp, …..); fread(………, fp); fwrite(……….., fp); 4 CompiledBy:ShehrevarDavierwla
  • 5. I/O AND DATA MOVEMENT  The flow of data into a program (input) may come from different devices such as keyboard, mouse, memory, disk, network, or another program.  The flow of data out of a program (output) may go to the screen, printer, memory, disk, network, another program.  Both input and output share a certain common property such as unidirectional movement of data – a sequence of bytes and characters and support to the sequential access to the data. 5
  • 6. STREAMS  Java Uses the concept of Streams to represent the ordered sequence of data, a common characteristic shared by all I/O devices.  Streams presents a uniform, easy to use, object oriented interface between the program and I/O devices.  A stream in Java is a path along which data flows (like a river or pipe along which water flows). 6
  • 7. STREAM TYPES 7  The concepts of sending data from one stream to another (like a pipe feeding into another pipe) has made streams powerful tool for file processing.  Connecting streams can also act as filters.  Streams are classified into two basic types:  Input Steam  Output Stream Source Program Input Stream reads SourceProgram Output Stream writes CompiledBy:ShehrevarDavierwla
  • 8. JAVA STREAM CLASSES Input/Output related classes are defined in java.io package. Input/Output in Java is defined in terms of streams. A stream is a sequence of data, of no particular length. Java classes can be categorised into two groups based on the data type one which they operate: Byte streams Character Streams 8 CompiledBy:ShehrevarDavierwla
  • 9. STREAMS 9 Byte Streams Character streams Operated on 8 bit (1 byte) data. Operates on 16-bit (2 byte) unicode characters. Input streams/Output streams Readers/ Writers CompiledBy:ShehrevarDavierwla
  • 10. CLASSIFICATION OF JAVA STREAM CLASSES 10 Byte Stream classes Character Stream classes CompiledBy:ShehrevarDavierwla
  • 12. BYTE INPUT STREAMS - OPERATIONS public abstract int read() Reads a byte and returns as a integer 0-255 public int read(byte[] buf, int offset, int count) Reads and stores the bytes in buf starting at offset. Count is the maximum read. public int read(byte[] buf) Same as previous offset=0 and length=buf.length() public long skip(long count) Skips count bytes. public int available() Returns the number of bytes that can be read. public void close() Closes stream 12
  • 13. BYTE INPUT STREAM - EXAMPLE  Count total number of bytes in the file 13 import java.io.*; class CountBytes { public static void main(String[] args) throws FileNotFoundException, IOException { FileInputStream in; in = new FileInputStream(“InFile.txt”); int total = 0; while (in.read() != -1) total++; System.out.println(total + “ bytes”); } } CompiledBy:ShehrevarDavierwla
  • 14. WHAT HAPPENS IF THE FILE DID NOT EXIST  JVM throws exception and terminates the program since there is no exception handler defined. [add@mundroo] Streams [1:165] java CountBytes Exception in thread "main" java.io.FileNotFoundException: FileIn.txt (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.j ava:64) at CountBytes.main(CountBytes.java:12) 14 CompiledBy:ShehrevarDavierwla
  • 16. BYTE OUTPUT STREAMS - OPERATIONS public abstract void write(int b) Write b as bytes. public void write(byte[] buf, int offset, int count) Write count bytes starting from offset in buf. public void write(byte[] buf) Same as previous offset=0 and count = buf.length() public void flush() Flushes the stream. public void close() Closes stream 16
  • 17. BYTE OUTPUT STREAM - EXAMPLE  Read from standard in and write to standard out 17 import java.io.*; class ReadWrite { public static void main(string[] args) throws IOException { int b; while (( b = System.in.read()) != -1) { System.out.write(b); } } CompiledBy:ShehrevarDavierwla
  • 18. SUMMARY  Streams provide uniform interface for managing I/O operations in Java irrespective of device types.  Java supports classes for handling Input Steams and Output steams via java.io package.  Exceptions supports handling of errors and their propagation during file operations. 18 CompiledBy:ShehrevarDavierwla