Streams and Input/Output Files
Streams and Input/Output Files
Files
Part 3
DataInputStream
DataOutputStream
Interface
FilterInputStream
DataInput
DataInputStream
Class
Interface
FilterOutputStream
DataOutput
DataOutputtStream
3
writeInt(120), writeInt(10120)
filter
binary stream
mydata
binary stream
filter
Program
Screen
C:\254\examples>java ReadWriteFilter
120
375.5
66
true
X
C:\254\examples>type mydata
x@wx
B X
Size of int+double+int+boolean+char
8
file1.dat
file2.dat
file1+file2
Buffer
Streams
Sequencer
inBuffer
read()
Program
write()
Buffer
Screen
outputBuffer
10
Example Program
import java.io.*;
public class CombineStreams {
public static void main(String args[]) throws IOException {
// declare file streams
FileInputStream file1 = new FileInputStream("file1.dat");
FileInputStream file2 = new FileInputStream("file2.dat");
// declare file3 to store combined streams
SequenceInputStream file3 = null;
// concatenate file1 and file2 streams into file3
file3 = new SequenceInputStream(file1, file2);
BufferedInputStream inBuffer = new BufferedInputStream(file3);
BufferedOutputStream outBuffer = new BufferedOutputStream(System.out);
// read and write combined streams until the end of buffers
int ch;
while((ch = inBuffer.read()) != -1 )
outBuffer.write(ch);
outBuffer.flush(); // check out the output by removing this line
System.out.println("\nHello, This output is generated by CombineFiles.java program");
inBuffer.close();
outBuffer.close();
file1.close();
file2.close();
file3.close();
}
}
11
Hello,
I am C++, born in AT&T.
Hello,
I am Java, born in Sun Microsystems!
12
Output
C:\254\examples>java CombineStreams
Hello,
I am C++, born in AT&T.
Hello,
I am Java, born in Sun Microsystems!
Hello, This output is generated by CombineFiles.java
program
0
Int
4
Double
12
Int
boolean
Char
Int
16
17
19
23
15
C:\254\examples>java
RandomAccess
120
375.5
true
X
2003
File length: 23
16
Standard I/O
Create Tokenens
StringTokenizer st;
st = new StringTokenizer(str);
Interactive IO Example
import java.io.*;
import java.util.*;
public class StudentRecord {
public static void main(String args[]) throws IOException {
// Create buffered reader for standard input
BufferedReader dis = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
// reading data from console
System.out.print("Enter Student ID: ");
st = new StringTokenizer(dis.readLine());
int stdID = Integer.parseInt(st.nextToken());
System.out.print("Enter Student Name: ");
String stdName = dis.readLine();
System.out.print("Enter Student Marks: ");
st = new StringTokenizer(dis.readLine());
int stdMarks = Integer.parseInt(st.nextToken());
// write to console
System.out.println("Student details are:");
System.out.println("ID: "+stdID);
System.out.println("Name: "+stdName);
System.out.println("Marks: "+stdMarks);
}
}
20
C:\254\examples>java StudentRecord
Summary