Professional Documents
Culture Documents
FALLSEM2021-22 STS3401 SS VL2021220100151 Reference Material I 19-Aug-2021 Basic Input Output
FALLSEM2021-22 STS3401 SS VL2021220100151 Reference Material I 19-Aug-2021 Basic Input Output
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
The java.io package contains nearly every class you might ever need to perform
input and output (I/O) in Java. All these streams represent an input source and
an output destination. The stream in the java.io package supports many data
such as primitives, object, localized characters, etc.
Stream
A stream can be defined as a sequence of data. There are two kinds of Streams −
1. InPutStream − The InputStream is used to read data from a source.
2. OutPutStream − The OutputStream is used for writing data to a
destination.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Byte Streams :
Java byte streams are used to perform input and output of 8-bit
bytes. Though there are many classes related to byte streams but the
most frequently used classes
are, FileInputStream and FileOutputStream. Following is an
example which makes use of these two classes to copy an input file
into an output file
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Example:
import java.io.*; while ((c = in.read()) != -1) {
public class CopyFile { out.write(c);
public static void main(String args[]) }}
throws IOException {
finally {
FileInputStream in = null;
FileOutputStream out = null; if (in != null) {
try { in.close();
in = new FileInputStream("input.txt"); }
out = new if (out != null) {
FileOutputStream("output.txt"); out.close();
int c; }}}}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Now let's have a file input.txt with the following content −
This is test for copy file.
As a next step, compile the above program and execute it, which will
result in creating output.txt file with the same content as we have in
input.txt. So let's put the above code in CopyFile.java file and do the
following −
$javac CopyFile.java
$java CopyFile
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Character Streams :
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Example :
import java.io.*; int c;
public class CopyFile { while ((c = in.read()) != -1) { out.write(c);
public static void main(String args[]) }}
throws IOException { finally {
FileReader in = null; if (in != null) {
FileWriter out = null; in.close();
}
try {
if (out != null) {
in = new FileReader("input.txt");
out.close();
out = new FileWriter("output.txt");
}}}}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Now let's have a file input.txt with the following content -
This is test for copy file.
As a next step, compile the above program and execute it, which will
result in creating output.txt file with the same content as we have in
input.txt. So let's put the above code in CopyFile.java file and do the
following −
$javac CopyFile.java
$java CopyFile
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Standard Streams :
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Standard Output − This is used to output the data produced by
the user's program and usually a computer screen is used for
standard output stream and represented as System.out.
Standard Error − This is used to output the error data produced
by the user's program and usually a computer screen is used for
standard error stream and represented as System.err.
Following is a simple program, which
creates InputStreamReader to read standard input stream until
the user types a "q" −
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Example :
import java.io.*; do {
public class ReadConsole { c = (char) cin.read();
public static void main(String args[]) System.out.print(c);
throws IOException }
{ InputStreamReader cin = null; while(c != 'q');
try { }
cin = new finally {
InputStreamReader(System.in);
System.out.println("Enter characters, if (cin != null) {
'q' to quit."); cin.close();
char c; }}}}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Let's keep the above code in ReadConsole.java file and try to compile and
execute it as shown in the following program. This program continues to read
and output the same character until we press 'q' −
$javac ReadConsole.java
$java ReadConsole
Enter characters, 'q' to quit.
1
1
e
e
q
q
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Reading and Writing Files:
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
-
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
The two important streams
are FileInputStream and FileOutputStream, which would be
discussed in this tutorial.
FileInputStream :
This stream is used for reading data from the files.
Objects can be created using the keyword new and there are several
types of constructors available.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Following constructor takes a file object to create an input stream
object to read the file. First we create a file object using File()
method as follows −
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Sr.No. Method & Description
public void close() throws IOException{} : This method closes the file output stream. Releases
any system resources associated with the file.
Throws an IOException.
protected void finalize()throws This method cleans up the connection to the file.
IOException {} : Ensures that the close method of this file output
stream is called when there are no more references
to this stream. Throws an IOException.
public int read(int r)throws IOException{} : This method reads the specified byte of data from
the InputStream. Returns an int. Returns the next
byte of data and -1 will be returned if it's the end of
the file.
public int read(byte[] r) throws This method reads r.length bytes from the input
IOException{} : stream into an array. Returns the total number of
bytes read. If it is the end of the file, -1 will be
returned.
public int available() throws Gives the number of bytes that can be read from this
IOException{} : TRAINING RESOURCES INDIA PVT. LTD. file input stream. Returns an
SMART int.
© 2018 SMART Training Resources Pvt. Ltd.
There are other important input streams available, for more detail you can refer
to the following links −
ByteArrayInputStream
DataInputStream
FileOutputStream :
FileOutputStream is used to create a file and write data into it. The
stream would create a file, if it doesn't already exist, before opening it for output.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
OutputStream f = new FileOutputStream("C:/java/hello")
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
S.No Method & Description
public void close() throws This method closes the file output stream.
IOException{} : Releases any system resources associated
with the file. Throws an IOException.
public void write(int w)throws This methods writes the specified byte to the
IOException{} : output stream.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
There are other important output streams available, for more detail
you can refer to the following links −
- ByteArrayOutputStream
- DataOutputStream
Example
Following is the example to demonstrate InputStream and
OutputStream −
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Example:
import java.io.*; InputStream is = new
public class fileStreamTest { FileInputStream("test.txt");
public static void main(String args[]) { int size = is.available();
try { for(int i = 0; i < size; i++)
{ System.out.print((char)is.read() + " ");
byte bWrite [] = {11,21,3,40,5};
}
OutputStream os = new
FileOutputStream("test.txt"); is.close();
for(int x = 0; x < bWrite.length ; x++) { }
catch (IOException e)
os.write( bWrite[x] );
{ System.out.print("Exception");
} os.close();
}}}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
The above code would create file test.txt and would write given
numbers in binary format. Same would be the output on the stdout
screen.
File Class
FileReader Class
FileWriter Class
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Directories in Java :
A directory is a File which can contain a list of
other files and directories. You use File object to create directories,
to list down files available in a directory. For complete detail, check a
list of all the methods which you can call on File object and what are
related to directories.
Creating Directories :
There are two useful File utility methods,
which can be used to create directories −
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
- The mkdir( ) method creates a directory, returning true on
success and false on failure. Failure indicates that the path specified
in the File object already exists, or that the directory cannot be
created because the entire path does not exist yet.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Example :
import java.io.File;
public class CreateDir {
public static void main(String args[]) {
String dirname = "/tmp/user/java/bin";
File d = new File(dirname); // Create directory now.
d.mkdirs();
}}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Listing Directories :
You can use list( ) method provided by File object to list
down all the files and directories available in a directory as follows −
Example
import java.io.File;
public class ReadDir {
public static void main(String[] args) {
File file = null;
String[] paths;
try { // create new file object
file = new File("/tmp");
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
// array of files and directory
paths = file.list(); // for each name in the path array
for(String path:paths) { // prints filename and directory name
System.out.println(path);
}}
catch (Exception e) { // if any error occurs
e.printStackTrace();
}}}
This will produce the following result based on the directories and files available
in your /tmp directory −
Output
test1.txt test2.txt ReadDir.java ReadDir.class
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
MCQ’S
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
1. The …………………… package contains a large
number of stream classes that provide capabilities for
processing all types of data.
A) java.awt
B) java.io
C) java.util
D) java.net
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
2. Which of these is used to perform all input &
output operations in Java?
A. streams
B. Variables
C. classes
D. Methods
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
3. What does AWT stands for?
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
4. Which of these is a type of stream in Java?
A. Integer stream
B. Short stream
C. Byte stream
D. Long stream
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
5. Which of these classes are used by character
streams for input and output operations?
A. InputStream
B. Writer
C. ReadStream
D. InputOutputStream
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
6. Which of these class is used to read from byte
array?
A. InputStream.
B. BufferedInputStream.
C. ArrayInputStream.
D. ByteArrayInputStream.
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
7. Which exception is thrown by read() method?
A. IOException
B. InterruptedException
C. SystemException
D. SystemInputException
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
8. Which of these is used to read a string from
the input stream?
A. get()
B. getLine()
C. read()
D. readLine()
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
9. Which of these class is used to read
characters and strings in Java from console?
A. BufferedReader
B. StringReader
C. BufferedStreamReader
D. InputStreamReader
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
10. Which of these classes are used by Byte
streams for input and output operation?
A. InputStream
B. InputOutputStream
C. Reader
D. All of the mentioned
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
11. Which of these class is implemented by
FilterInputStream class?
A. InputStream
B. BufferedInputStream
C. FileInputStream
D. BufferedFileInputStream
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
12. Which of these class contains the methods
print() & println()?
A. System
B. System.out
C. BUfferedOutputStream
D. PrintStream
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
13. Which of these methods can be used to
writing console output?
A. print()
B. println()
C. write()
D. All of the mentioned
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
14. Which of these class is used to create an
object whose character sequence is mutable?
A. String()
B. StringBuffer()
C. Both of the mentioned
D. None of the mentioned
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
15. Which of these method of class StringBuffer
is used to reverse sequence of characters?
A. reverse()
B. reverseall()
C. Reverse()
D. reverseAll()
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
16. Which of these classes are used by character
streams output operations?
A. InputStream
B. Writer
C. ReadStream
D. InputOutputStream
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
17. Which of the following statement is correct?
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
18. Which of these classes are used by Byte
streams for input and output operation?
A. InputStream
B. InputOutputStream
C. Reader
D. All of the mentioned
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
19. Which of these method of FileReader class is
used to read characters from a file?
a) read()
b) scanf()
c) get()
d) getInteger()
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
20. What will be the output of the following Java program?
import java.io.*;
class Chararrayinput
{
public static void main(String[] args)
{
String obj = "abcdef";
int length = obj.length();
char c[] = new char[length];
obj.getChars(0,length,c,0);
CharArrayReader input1 = new CharArrayReader(c);
CharArrayReader input2 = new CharArrayReader(c, 0, 3);
int i;
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
try
{
while ((i = input1.read()) != -1)
{
System.out.print((char)i);
}
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
a) abc
b) abcd
c) abcde
d) abcdef
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Answers
1. B 11. C
2. A 12. D
3. C 13. D
4. C 14. B
5. B 15. A
6. D 16. B
7. A 17. A
8. A 18. A
9. D 19. A
10. A 20. D
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.
Thank You
SMART TRAINING RESOURCES INDIA PVT. LTD. © 2018 SMART Training Resources Pvt. Ltd.