SlideShare a Scribd company logo
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

Similar to Programming language JAVA Input output opearations (20)

PPT
Java căn bản - Chapter12
Vince Vo
 
PPT
Chapter 12 - File Input and Output
Eduardo Bergavera
 
PPTX
Java I/O
Jayant Dalvi
 
PDF
CSE3146-ADV JAVA M2.pdf
VithalReddy3
 
PPTX
I/O Streams
Ravi Chythanya
 
PPTX
Java
Dhruv Sabalpara
 
PDF
Java Day-6
People Strategists
 
PPTX
Chapter 6
siragezeynu
 
PPTX
Input/Output Exploring java.io
NilaNila16
 
PPT
Javaio
Jaya Jeswani
 
PPT
Javaio
Jaya Jeswani
 
PPTX
chapter 2(IO and stream)/chapter 2, IO and stream
amarehope21
 
PPT
Java Input Output and File Handling
Sunil OS
 
PPT
Java stream
Arati Gadgil
 
PPTX
File Input and output.pptx
cherryreddygannu
 
PPTX
File Handling in Java Oop presentation
Azeemaj101
 
PPTX
L21 io streams
teach4uin
 
PPTX
Io streams
Elizabeth alexander
 
PDF
0301502 ADVANCED JAVA_UNIT_1.pdf
jaydesai523137
 
Java căn bản - Chapter12
Vince Vo
 
Chapter 12 - File Input and Output
Eduardo Bergavera
 
Java I/O
Jayant Dalvi
 
CSE3146-ADV JAVA M2.pdf
VithalReddy3
 
I/O Streams
Ravi Chythanya
 
Java Day-6
People Strategists
 
Chapter 6
siragezeynu
 
Input/Output Exploring java.io
NilaNila16
 
Javaio
Jaya Jeswani
 
Javaio
Jaya Jeswani
 
chapter 2(IO and stream)/chapter 2, IO and stream
amarehope21
 
Java Input Output and File Handling
Sunil OS
 
Java stream
Arati Gadgil
 
File Input and output.pptx
cherryreddygannu
 
File Handling in Java Oop presentation
Azeemaj101
 
L21 io streams
teach4uin
 
0301502 ADVANCED JAVA_UNIT_1.pdf
jaydesai523137
 

Recently uploaded (20)

PDF
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PPTX
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
PPTX
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
PDF
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PDF
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
PPTX
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
PDF
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
PPT
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
PDF
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
PPTX
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
PPTX
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
PDF
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
PPTX
Work at Height training for workers .pptx
cecos12
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PPTX
WHO And BIS std- for water quality .pptx
dhanashree78
 
PDF
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
PPTX
Functions in Python Programming Language
BeulahS2
 
PPTX
Precooling and Refrigerated storage.pptx
ThongamSunita
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
MATERIAL SCIENCE LECTURE NOTES FOR DIPLOMA STUDENTS
SAMEER VISHWAKARMA
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
CLIP_Internals_and_Architecture.pdf sdvsdv sdv
JoseLuisCahuanaRamos3
 
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
Validating a Citizen Observatories enabling Platform by completing a Citizen ...
Diego López-de-Ipiña González-de-Artaza
 
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
13th International Conference of Security, Privacy and Trust Management (SPTM...
ijcisjournal
 
Bharatiya Antariksh Hackathon 2025 Idea Submission PPT.pptx
AsadShad4
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
Introduction to File Transfer Protocol with commands in FTP
BeulahS2
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
Work at Height training for workers .pptx
cecos12
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
WHO And BIS std- for water quality .pptx
dhanashree78
 
Plant Control_EST_85520-01_en_AllChanges_20220127.pdf
DarshanaChathuranga4
 
Functions in Python Programming Language
BeulahS2
 
Precooling and Refrigerated storage.pptx
ThongamSunita
 
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