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)

PPTX
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
Thermal runway and thermal stability.pptx
godow93766
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
DOCX
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
PDF
Zilliz Cloud Demo for performance and scale
Zilliz
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
PPTX
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
PPTX
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PDF
smart lot access control system with eye
rasabzahra
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PPTX
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
PPTX
Big Data and Data Science hype .pptx
SUNEEL37
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PPTX
Introduction to Basic Renewable Energy.pptx
examcoordinatormesu
 
Arduino Based Gas Leakage Detector Project
CircuitDigest
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
Thermal runway and thermal stability.pptx
godow93766
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
8th International Conference on Electrical Engineering (ELEN 2025)
elelijjournal653
 
Zilliz Cloud Demo for performance and scale
Zilliz
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
Mechanical Design of shell and tube heat exchangers as per ASME Sec VIII Divi...
shahveer210504
 
Product Development & DevelopmentLecture02.pptx
zeeshanwazir2
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
smart lot access control system with eye
rasabzahra
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
2025 CGI Congres - Surviving agile v05.pptx
Derk-Jan de Grood
 
Big Data and Data Science hype .pptx
SUNEEL37
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
Introduction to Basic Renewable Energy.pptx
examcoordinatormesu
 
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