Java
I/O
File
• Long-term storage of large amounts of data
• Persistent data exists a5er termina6on of program
• Files stored on secondary storage devices
– Magne6c disks
– Op6cal disks
– Magne6c tapes
• Sequen6al and random access files
2
File Class
• Provides useful informa6on about a file or directory
• Does not open files or process files
• To obtain or manipulate path, 6me, date,
permissions etc
• Constructor
– File(String directoryPath)
– File(String directoryPath, String fileName)
– File(File dirObj, String fileName)
• Example: FileDemo.java
3
Directory Class
• Directories are also files
• Contains list of files and directories
• For DirectoryisDirectory() returns true
String[] list()
– returns an array of strings that gives the files and
directories contained
File[] listFiles()
– Returns array of File objects
• Example: DirectoryDemo.java
4
Stream Classes
• Java views a File as a stream of bytes.
– File ends with end-of-file marker or a specific byte number
– File as a stream of bytes associated with an object.
– Java also associates streams with devices
• System.in, System.out, and System.err
– Streams can be redirected
• Stream is an abstrac6on that either produces or
consumes informa6on
5
Stream Classes
• Java’s stream-based I/O is built upon four
abstract classes.
– InputStream, OutputStream (for byte streams)
– Reader, Writer (for character streams)
• They form separate hierarchies
• Use the character stream classes when working
with characters or strings
• Use the byte stream classes when working with
bytes or other binary objects
6
Byte Stream Classes
• Byte-Stream classes are topped by InputStream and
OutputStream classes
• InputStream is an abstract class that defines Java’s
model of streaming byte input.
int available() void close() int read()
int read(byte buff[]) int read(byte buff[], int off, int num)
• OutputStream is an abstract class that defines Java’s
model of streaming byte output.
void flush() void close() void write(int b)
void write(byte buff[]) void write(byte buff[], int off, int num)
7
FileInputStream
• FileInputStream class creates an InputStream that
you can use to read bytes from a file
• Constructors
– FileInputStream(String filePath)
– FileInputStream(File fileObj)
• Example: FileInputStreamDemo.java
8
FileOutputStream
• FileOutputStream class creates an OutputStream
that you can use to write bytes to a file
• Constructors
– FileOutputStream(String filePath)
– FileOutputStream(File fileObj)
– FileOutputStream(String path, boolean append)
– FileOutputStream(File obj, boolean append)
• Example: FileOutputStreamDemo.java, FileCopyDemo.java
9
Character Streams
• Character Stream classes are topped by Reader and
Writer class
• Reader is an abstract class that defines Java’s model
of streaming character input
void close() int read() int read(char buff[])
int read(char buff[], int off, int num)
• Writer is an abstract class that defines Java’s model
of streaming character output
void flush() void close() void write(int ch)
void write(char buff[]) void write(char buff[], int off, int num)
void write(String s) void write(String s, int off, int num) 10
FileReader
• FileReader class creates a Reader that you can use to
read the contents of a file
• Constructors
– FileReader(String filePath)
– FileReader(File fileObj)
• Example: FileReaderDemo.java
11
FileWriter
• FileWriter class creates a Writer that you can use to
write to a file
• Constructors
– FileWriter(String filePath)
– FileWriter(File fileObj)
– FileWriter(String path, boolean append)
– FileWriter(File obj, boolean append)
• Example: FileWriterDemo.java
12
BufferedReader
• BufferedReader is a Reader that buffers input
• It improves performance by reducing the number of
6mes data us actually physically read from the input
stream
• Constructors
– BufferedReader(Reader reader)
– BufferedReader(Reader reader, int buffSize)
• Example: BufferedReaderDemo.java
13
BufferedWriter
• BufferedWriter is a Writer that buffers output
• It improves performance by reducing the number of
6mes data actually physically wricen to the output
stream
• Constructors
– BufferedWriter(Writer writer)
– BufferedWriter(Writer writer, int buffSize)
• Example: BufferedWriterDemo.java
14
Serializa6on
• Serializa6on is the process of wri6ng the state of an
object to a byte stream
– This is useful when you want to save the state of your
program to a persistent storage such as file
– Later these objects can be restored by using the process of
deserializa6on
• Serializa6on can be achieved by implemen6ng
Serializable interface
15
Object(Input/Output)Stream
• ObjectInputStream class extends the InputStream
class
• It is responsible for reading objects from a stream
• ObjectOutputStream class extends the
OutputStream class
• It is responsible for wri6ng objects to a stream
• Example: ObjectSerializaJonDemo.java
16
Self Study
Data(Input/Output)Stream
• DataInputStream & DataOutputStream enable to
write or read primi6ve data to or from a stream
• They implement the DataOutput & DataInput
interfaces respec6vely
• Constructors
– DataOutputStream(OutputStream os)
– DataInputStream(InputStream is)
• Example: DataIODemo.java
18
Console
• It is used to read and write to the console
• It supplies no constructor. A Console object is
obtained by calling System.console()
• Important Methods
– prinf,
– readLine
– readPassword
• Example: ConsoleDemo.java
19
RandomAccessFile
20

More Related Content

PDF
11_Str11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.eams.pdf
PPTX
Input output files in java
PPTX
IO Programming.pptx all informatiyon ppt
PDF
Monhocvecaujahetvagiuplaptunhhayhonha.pdf
PPTX
Java programming Chapter 4.pptx
PPTX
IOStream.pptx
PPTX
Java Input Output (java.io.*)
PDF
Advanced programming ch2
11_Str11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.11_Streams.eams.pdf
Input output files in java
IO Programming.pptx all informatiyon ppt
Monhocvecaujahetvagiuplaptunhhayhonha.pdf
Java programming Chapter 4.pptx
IOStream.pptx
Java Input Output (java.io.*)
Advanced programming ch2

Similar to Programming language JAVA Input output opearations (20)

PPT
Chapter 12 - File Input and Output
PPT
Java căn bản - Chapter12
PPTX
Java I/O
PDF
CSE3146-ADV JAVA M2.pdf
PPTX
I/O Streams
PPTX
PDF
Java Day-6
PPTX
Chapter 6
PPTX
Input/Output Exploring java.io
PPT
Javaio
PPT
Javaio
PPTX
chapter 2(IO and stream)/chapter 2, IO and stream
PPT
Java Input Output and File Handling
PPT
Java stream
PPTX
File Input and output.pptx
PPTX
File Handling in Java Oop presentation
PPTX
L21 io streams
PPTX
PDF
0301502 ADVANCED JAVA_UNIT_1.pdf
Chapter 12 - File Input and Output
Java căn bản - Chapter12
Java I/O
CSE3146-ADV JAVA M2.pdf
I/O Streams
Java Day-6
Chapter 6
Input/Output Exploring java.io
Javaio
Javaio
chapter 2(IO and stream)/chapter 2, IO and stream
Java Input Output and File Handling
Java stream
File Input and output.pptx
File Handling in Java Oop presentation
L21 io streams
0301502 ADVANCED JAVA_UNIT_1.pdf
Ad

Recently uploaded (20)

PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
PPTX
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
PPTX
Measurement Uncertainty and Measurement System analysis
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PPTX
wireless networks, mobile computing.pptx
PDF
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
PPTX
Software Engineering and software moduleing
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPTX
CyberSecurity Mobile and Wireless Devices
PDF
20250617 - IR - Global Guide for HR - 51 pages.pdf
PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PDF
First part_B-Image Processing - 1 of 2).pdf
PDF
Exploratory_Data_Analysis_Fundamentals.pdf
PDF
MLpara ingenieira CIVIL, meca Y AMBIENTAL
PDF
Design Guidelines and solutions for Plastics parts
PPTX
Building constraction Conveyance of water.pptx
August 2025 - Top 10 Read Articles in Network Security & Its Applications
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
Measurement Uncertainty and Measurement System analysis
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
wireless networks, mobile computing.pptx
Unit I -OPERATING SYSTEMS_SRM_KATTANKULATHUR.pptx.pdf
Software Engineering and software moduleing
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
CyberSecurity Mobile and Wireless Devices
20250617 - IR - Global Guide for HR - 51 pages.pdf
"Array and Linked List in Data Structures with Types, Operations, Implementat...
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
First part_B-Image Processing - 1 of 2).pdf
Exploratory_Data_Analysis_Fundamentals.pdf
MLpara ingenieira CIVIL, meca Y AMBIENTAL
Design Guidelines and solutions for Plastics parts
Building constraction Conveyance of water.pptx
Ad

Programming language JAVA Input output opearations

  • 2. File • Long-term storage of large amounts of data • Persistent data exists a5er termina6on of program • Files stored on secondary storage devices – Magne6c disks – Op6cal disks – Magne6c tapes • Sequen6al and random access files 2
  • 3. File Class • Provides useful informa6on about a file or directory • Does not open files or process files • To obtain or manipulate path, 6me, date, permissions etc • Constructor – File(String directoryPath) – File(String directoryPath, String fileName) – File(File dirObj, String fileName) • Example: FileDemo.java 3
  • 4. Directory Class • Directories are also files • Contains list of files and directories • For DirectoryisDirectory() returns true String[] list() – returns an array of strings that gives the files and directories contained File[] listFiles() – Returns array of File objects • Example: DirectoryDemo.java 4
  • 5. Stream Classes • Java views a File as a stream of bytes. – File ends with end-of-file marker or a specific byte number – File as a stream of bytes associated with an object. – Java also associates streams with devices • System.in, System.out, and System.err – Streams can be redirected • Stream is an abstrac6on that either produces or consumes informa6on 5
  • 6. Stream Classes • Java’s stream-based I/O is built upon four abstract classes. – InputStream, OutputStream (for byte streams) – Reader, Writer (for character streams) • They form separate hierarchies • Use the character stream classes when working with characters or strings • Use the byte stream classes when working with bytes or other binary objects 6
  • 7. Byte Stream Classes • Byte-Stream classes are topped by InputStream and OutputStream classes • InputStream is an abstract class that defines Java’s model of streaming byte input. int available() void close() int read() int read(byte buff[]) int read(byte buff[], int off, int num) • OutputStream is an abstract class that defines Java’s model of streaming byte output. void flush() void close() void write(int b) void write(byte buff[]) void write(byte buff[], int off, int num) 7
  • 8. FileInputStream • FileInputStream class creates an InputStream that you can use to read bytes from a file • Constructors – FileInputStream(String filePath) – FileInputStream(File fileObj) • Example: FileInputStreamDemo.java 8
  • 9. FileOutputStream • FileOutputStream class creates an OutputStream that you can use to write bytes to a file • Constructors – FileOutputStream(String filePath) – FileOutputStream(File fileObj) – FileOutputStream(String path, boolean append) – FileOutputStream(File obj, boolean append) • Example: FileOutputStreamDemo.java, FileCopyDemo.java 9
  • 10. Character Streams • Character Stream classes are topped by Reader and Writer class • Reader is an abstract class that defines Java’s model of streaming character input void close() int read() int read(char buff[]) int read(char buff[], int off, int num) • Writer is an abstract class that defines Java’s model of streaming character output void flush() void close() void write(int ch) void write(char buff[]) void write(char buff[], int off, int num) void write(String s) void write(String s, int off, int num) 10
  • 11. FileReader • FileReader class creates a Reader that you can use to read the contents of a file • Constructors – FileReader(String filePath) – FileReader(File fileObj) • Example: FileReaderDemo.java 11
  • 12. FileWriter • FileWriter class creates a Writer that you can use to write to a file • Constructors – FileWriter(String filePath) – FileWriter(File fileObj) – FileWriter(String path, boolean append) – FileWriter(File obj, boolean append) • Example: FileWriterDemo.java 12
  • 13. BufferedReader • BufferedReader is a Reader that buffers input • It improves performance by reducing the number of 6mes data us actually physically read from the input stream • Constructors – BufferedReader(Reader reader) – BufferedReader(Reader reader, int buffSize) • Example: BufferedReaderDemo.java 13
  • 14. BufferedWriter • BufferedWriter is a Writer that buffers output • It improves performance by reducing the number of 6mes data actually physically wricen to the output stream • Constructors – BufferedWriter(Writer writer) – BufferedWriter(Writer writer, int buffSize) • Example: BufferedWriterDemo.java 14
  • 15. Serializa6on • Serializa6on is the process of wri6ng the state of an object to a byte stream – This is useful when you want to save the state of your program to a persistent storage such as file – Later these objects can be restored by using the process of deserializa6on • Serializa6on can be achieved by implemen6ng Serializable interface 15
  • 16. Object(Input/Output)Stream • ObjectInputStream class extends the InputStream class • It is responsible for reading objects from a stream • ObjectOutputStream class extends the OutputStream class • It is responsible for wri6ng objects to a stream • Example: ObjectSerializaJonDemo.java 16
  • 18. Data(Input/Output)Stream • DataInputStream & DataOutputStream enable to write or read primi6ve data to or from a stream • They implement the DataOutput & DataInput interfaces respec6vely • Constructors – DataOutputStream(OutputStream os) – DataInputStream(InputStream is) • Example: DataIODemo.java 18
  • 19. Console • It is used to read and write to the console • It supplies no constructor. A Console object is obtained by calling System.console() • Important Methods – prinf, – readLine – readPassword • Example: ConsoleDemo.java 19