SlideShare a Scribd company logo
1 of 24
 Understand the stream
 Know the difference between byte and
  character streams
 Know Java’s byte stream classes
 Know Java’s character stream classes
 Know the predefined streams
 Use byte streams
 Use byte streams for file I/O
 Read and write binary data
 Use character streams
 Use character streams for file I/O
 Object Serialization
 Object Deserialization
A stream is an abstract representation of an input or output device that is a source of,
or destination for, data. You can write data to a stream and read data from a stream.
You can visualize a stream as a sequence of bytes that flows into or out of your
program

Java programs perform I/O through streams.

A stream is an abstraction that either produces or consumes information. A stream is
 linked to a physical device by the Java I/O system.
All streams behave in the same manner, even if the actual physical devices they are
linked to differ.

Thus, the same I/O classes and methods can be applied to any type of device.
For example, the same methods that you use to write to the console can also be used
to write to a disk file. Java implements streams within class hierarchies defined in the
java.io package.
Modern versions of Java define two types of Streams: byte and
character.
Byte streams provide a convenient means for handling input and
output of bytes.
Byte streams are used, for example, when reading or writing
binary data. They are especially helpful when working with files.
Character streams are designed for handling the input and
output of characters.
Character streams use Unicode and, therefore, can be
internationalized. Also, in some cases, character streams are
 more efficient than byte streams.
At the lowest level, all I/O is still byte-oriented. The character-based
streams simply provide a convenient and efficient means for handling
characters.
Byte streams are defined by using two class hierarchies.
At the top of these are two abstract classes:
InputStream and OutputStream.
InputStream defines the characteristics common to byte
input streams and OutputStream describes the behavior of
byte output streams.
From InputStream and OutputStream are created several
concrete subclasses that offer varying functionality and
handle the details of reading and writing to various devices,
such as disk files.
Character streams are defined by using two class
hierarchies topped by these two abstract classes:
  Reader and Writer.
Reader is used for input, and Writer is used for
output.

Concrete classes derived from Reader and Writer
operate on Unicode character streams.

From Reader and Writer are derived several
concrete subclasses that handle various I/O
situations. In general, the character-based classes
parallel the byte-based classes.
As you know, all Java programs automatically import the
java.lang package. This package defines a class called System,
which encapsulates several aspects of the run-time environment.
Among other things, it contains three predefined stream variables,
called in, out, and err.

These fields are declared as public and static within System.
This means that they can be used by any other part of your
program and without reference to a specific System object.

System.out refers to the standard output stream. By default,
this is the console. System.in refers to standard input, which is
by default the keyboard.
System.err refers to the standard error stream, which is also the
console by default. However, these streams can be redirected to
any compatible I/O device.
   BufferedInputStream        InputStream
   BufferedOutputStream       ObjectInputStream
   ByteArrayInputStream       ObjectOutputStream
   ByteArrayOutputStream      OutputStream
   DataInputStream            PipedInputStream
   DataOutputStream           PipedOutputStream
   FileInputStream            PrintStream
   FileOutputStream           PushbackInputStream
   FilterInputStream          RandomAccessFile
   FilterOutputStream         SequenceInputStream
   BufferedReader         LineNumberReader
   BufferedWriter         OutputStreamWriter
   CharArrayReader        PipedReader
   CharArrayWriter        PipedWriter
   FileReader             PrintWriter
   FileWriter             PushbackReader
   FilterReader           Reader
   FilterWriter           StringReader
   InputStreamReader      StringWriter
import java.io.*;
class ReadBytes {
       public static void main(String args[]) throws
  Exception {
              byte data[] = new byte[10];
              System.out.println("Enter some characters.");
              System.in.read(data);
              System.out.print("You entered: ");
              for(int i=0; i < data.length; i++)
                     System.out.print((char) data[i]);
                     }
              }
class WriteDemo {
       public static void main(String args[]) {
              int b;
              b = 'X';
              System.out.write(b);
              System.out.write('n');
              }
  }
import java.io.*;
class ShowFile {
         public static void main(String args[])
         throws IOException {
                  int i;
                  FileInputStream fin = new FileInputStream(args[0]);


                 do {
                 i = fin.read();
                 if(i != -1) System.out.print((char) i);
                 } while(i != -1);

                 fin.close();
                 }
  }
import java.io.*;
class CopyFile {
         public static void main(String args[]) throws Exception {
         int i;
         FileInputStream fin = new FileInputStream(args[0]);
         FileOutputStream fout = new FileOutputStream(args[1]);

        do {
                 i = fin.read();
                 if(i != -1) fout.write(i);
        } while(i != -1);
        fin.close();
        fout.close();
        }
}
import java.io.*;
class RWData {
      public static void main(String args[]) throws Exception {
      DataOutputStream dataOut = new DataOutputStream(new
FileOutputStream("testdata"));
      int i = 10;
      double d = 1023.56;
      boolean b = true;
      System.out.println("Writing " + i); dataOut.writeInt(i);
      System.out.println("Writing " + d); dataOut.writeDouble(d);
      System.out.println("Writing " + b); dataOut.writeBoolean(b);
      System.out.println("Writing " + 12.2 * 7.4); dataOut.writeDouble(12.2 * 7.4);
      dataOut.close();
      System.out.println();
      DataInputStream dataIn = new DataInputStream(new FileInputStream("testdata"));
      i = dataIn.readInt(); System.out.println("Reading " + i);
      d = dataIn.readDouble(); System.out.println("Reading " + d);
      b = dataIn.readBoolean(); System.out.println("Reading " + b);
      d = dataIn.readDouble(); System.out.println("Reading " + d);
      dataIn.close();
      }
}
import java.io.*;
class CompFiles {
         public static void main(String args[])throws Exception {
         int i=0, j=0;
         FileInputStream f1 = new FileInputStream(args[0]);

        FileInputStream f2 = new FileInputStream(args[1]);
        do {
        i = f1.read();
        j = f2.read();
                 if(i != j) break;
        } while(i != -1 && j != -1);

        if(i != j)
                 System.out.println("Files differ.");
        else
                 System.out.println("Files are the same.");
        f1.close();
        f2.close();
        }
}
import java.io.*;
class ReadChars {

public static void main(String args[]) throws Exception {
char c;
BufferedReader br = new BufferedReader(
                   new InputStreamReader(System.in));
System.out.println("Enter characters, period to quit.");

do {
c = (char) br.read();
System.out.println(c);
} while(c != '.');
}
}
import java.io.*;
Create BufferedReader
class ReadLines {
public static void main(String args[]) Throws Exception {
BufferedReader br = new BufferedReader(new
                         InputStreamReader(System.in));
String str;
System.out.println("Enter lines of text.");
System.out.println("Enter 'stop' to quit.");
do {
str = br.readLine();
System.out.println(str);
} while(!str.equals("stop"));
}
}
import java.io.*;
public class PrintWriterDemo {
public static void main(String args[]) {
PrintWriter pw = new PrintWriter(System.out, true);
int i = 10;
double d = 123.65;
pw.println("Using a PrintWriter.");
pw.println(i);
pw.println(d);
pw.println(i + " + " + d + " is " + (i+d));
}
}
import java.io.*;
class KtoD {
public static void main(String args[]) throws Exception {
String str;
FileWriter fw = new FileWriter("test.txt");
BufferedReader br = new BufferedReader( new InputStreamReader(System.in));
System.out.println("Enter text ('stop' to quit).");
do {
System.out.print(": "); str = br.readLine();
if(str.compareTo("stop") == 0) break;
str = str + "rn"; // add newline
fw.write(str);
} while(str.compareTo("stop") != 0);
fw.close();
}
}
import java.io.*;

class DtoS {

public static void main(String args[]) throws Exception {

FileReader fr = new FileReader("test.txt");

BufferedReader br = new BufferedReader(fr);

String s;

while((s = br.readLine()) != null) {

System.out.println(s);

}

fr.close();

}

}
class MyClass implements Serializable {
         double id;
         String name;
         String course;


    public MyClass(double i, String n, String c) {
    id=i; name=n;course=c;
    }
    public String toString() {
    return “ID: " + id + “nNAME: " + name + “nCOURSE: "+ course;
    }
}
import java.io.*;
    public class SerializationDemo {
         public static void main(String args[]) throws Exception{
// Object serialization
      MyClass object1 = new MyClass(2342, “Shahjahan”, “Java”);
    System.out.println("object1: " + object1);
FileOutputStream fos = new FileOutputStream("serial");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(object1);
oos.flush();
oos.close();
}
// Object deserialization
MyClass object2;
FileInputStream fis = new FileInputStream("serial");
ObjectInputStream ois = new ObjectInputStream(fis);
object2 = (MyClass)ois.readObject();
ois.close();
System.out.println("object2: " + object2);
}
}
import java.util.zip.*;

import java.io.*;

public class GZIPcompress {

public static void main(String[] args)throws IOException {

BufferedReader in = new BufferedReader( new FileReader(args[0]));

BufferedOutputStream out = new BufferedOutputStream( new GZIPOutputStream(

new FileOutputStream("test.gz")));

int c; while((c = in.read()) != -1) out.write(c);

in.close(); out.close();

BufferedReader in2 = new BufferedReader( new InputStreamReader(new

    GZIPInputStream( new FileInputStream("test.gz"))));

String s; while((s = in2.readLine()) != null) System.out.println(s);

}

}

More Related Content

What's hot

Main method in java
Main method in javaMain method in java
Main method in javaHitesh Kumar
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVASURIT DATTA
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member FunctionsMOHIT AGARWAL
 
File handling in Python
File handling in PythonFile handling in Python
File handling in PythonMegha V
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdmHarshal Misalkar
 
Class, object and inheritance in python
Class, object and inheritance in pythonClass, object and inheritance in python
Class, object and inheritance in pythonSantosh Verma
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File HandlingSunil OS
 
String and string buffer
String and string bufferString and string buffer
String and string bufferkamal kotecha
 
Regular expressions in Python
Regular expressions in PythonRegular expressions in Python
Regular expressions in PythonSujith Kumar
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#Doncho Minkov
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)Ravi_Kant_Sahu
 
java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and filesMarcello Thiry
 

What's hot (20)

Main method in java
Main method in javaMain method in java
Main method in java
 
Exception Handling in JAVA
Exception Handling in JAVAException Handling in JAVA
Exception Handling in JAVA
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
 
Static Data Members and Member Functions
Static Data Members and Member FunctionsStatic Data Members and Member Functions
Static Data Members and Member Functions
 
Java Streams
Java StreamsJava Streams
Java Streams
 
File handling in Python
File handling in PythonFile handling in Python
File handling in Python
 
Introduction to method overloading &amp; method overriding in java hdm
Introduction to method overloading &amp; method overriding  in java  hdmIntroduction to method overloading &amp; method overriding  in java  hdm
Introduction to method overloading &amp; method overriding in java hdm
 
Class, object and inheritance in python
Class, object and inheritance in pythonClass, object and inheritance in python
Class, object and inheritance in python
 
Java Input Output and File Handling
Java Input Output and File HandlingJava Input Output and File Handling
Java Input Output and File Handling
 
String and string buffer
String and string bufferString and string buffer
String and string buffer
 
Regular expressions in Python
Regular expressions in PythonRegular expressions in Python
Regular expressions in Python
 
Python : Regular expressions
Python : Regular expressionsPython : Regular expressions
Python : Regular expressions
 
Generics in java
Generics in javaGenerics in java
Generics in java
 
Java I/O
Java I/OJava I/O
Java I/O
 
Advance oops concepts
Advance oops conceptsAdvance oops concepts
Advance oops concepts
 
Object-oriented Programming-with C#
Object-oriented Programming-with C#Object-oriented Programming-with C#
Object-oriented Programming-with C#
 
Object oriented programming in python
Object oriented programming in pythonObject oriented programming in python
Object oriented programming in python
 
Python Functions
Python   FunctionsPython   Functions
Python Functions
 
String handling(string class)
String handling(string class)String handling(string class)
String handling(string class)
 
java.io - streams and files
java.io - streams and filesjava.io - streams and files
java.io - streams and files
 

Viewers also liked

Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)Om Ganesh
 
Byte stream classes.49
Byte stream classes.49Byte stream classes.49
Byte stream classes.49myrajendra
 
Introduction to class in java
Introduction to class in javaIntroduction to class in java
Introduction to class in javakamal kotecha
 
Java I/O and Object Serialization
Java I/O and Object SerializationJava I/O and Object Serialization
Java I/O and Object SerializationNavneet Prakash
 
Java8 javatime-api
Java8 javatime-apiJava8 javatime-api
Java8 javatime-apiJini Lee
 
Java 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional InterfacesJava 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional InterfacesGanesh Samarthyam
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009Frank
 
Character stream classes .52
Character stream classes .52Character stream classes .52
Character stream classes .52myrajendra
 
Inner classes9 cm604.28
Inner classes9 cm604.28Inner classes9 cm604.28
Inner classes9 cm604.28myrajendra
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in javaRicha Singh
 
Buffer and scanner
Buffer and scannerBuffer and scanner
Buffer and scannerArif Ullah
 
Java 8 Streams And Common Operations By Harmeet Singh(Taara)
Java 8 Streams And Common Operations By Harmeet Singh(Taara)Java 8 Streams And Common Operations By Harmeet Singh(Taara)
Java 8 Streams And Common Operations By Harmeet Singh(Taara)Harmeet Singh(Taara)
 
java: basics, user input, data type, constructor
java:  basics, user input, data type, constructorjava:  basics, user input, data type, constructor
java: basics, user input, data type, constructorShivam Singhal
 
Java Serialization
Java SerializationJava Serialization
Java Serializationimypraz
 

Viewers also liked (20)

Java Input Output (java.io.*)
Java Input Output (java.io.*)Java Input Output (java.io.*)
Java Input Output (java.io.*)
 
Byte stream classes.49
Byte stream classes.49Byte stream classes.49
Byte stream classes.49
 
Handling I/O in Java
Handling I/O in JavaHandling I/O in Java
Handling I/O in Java
 
Introduction to class in java
Introduction to class in javaIntroduction to class in java
Introduction to class in java
 
Java tutorial PPT
Java tutorial PPTJava tutorial PPT
Java tutorial PPT
 
5java Io
5java Io5java Io
5java Io
 
Java I/O and Object Serialization
Java I/O and Object SerializationJava I/O and Object Serialization
Java I/O and Object Serialization
 
Java8 javatime-api
Java8 javatime-apiJava8 javatime-api
Java8 javatime-api
 
Java8
Java8Java8
Java8
 
Java 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional InterfacesJava 8 Lambda Built-in Functional Interfaces
Java 8 Lambda Built-in Functional Interfaces
 
Streams in Java 8
Streams in Java 8Streams in Java 8
Streams in Java 8
 
Java 8 Date and Time API
Java 8 Date and Time APIJava 8 Date and Time API
Java 8 Date and Time API
 
X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009X$Tables And Sga Scanner, DOAG2009
X$Tables And Sga Scanner, DOAG2009
 
Character stream classes .52
Character stream classes .52Character stream classes .52
Character stream classes .52
 
Inner classes9 cm604.28
Inner classes9 cm604.28Inner classes9 cm604.28
Inner classes9 cm604.28
 
Nested classes in java
Nested classes in javaNested classes in java
Nested classes in java
 
Buffer and scanner
Buffer and scannerBuffer and scanner
Buffer and scanner
 
Java 8 Streams And Common Operations By Harmeet Singh(Taara)
Java 8 Streams And Common Operations By Harmeet Singh(Taara)Java 8 Streams And Common Operations By Harmeet Singh(Taara)
Java 8 Streams And Common Operations By Harmeet Singh(Taara)
 
java: basics, user input, data type, constructor
java:  basics, user input, data type, constructorjava:  basics, user input, data type, constructor
java: basics, user input, data type, constructor
 
Java Serialization
Java SerializationJava Serialization
Java Serialization
 

Similar to Understanding java streams

File Input and output.pptx
File Input  and output.pptxFile Input  and output.pptx
File Input and output.pptxcherryreddygannu
 
File Handling in Java.pdf
File Handling in Java.pdfFile Handling in Java.pdf
File Handling in Java.pdfSudhanshiBakre1
 
Input output files in java
Input output files in javaInput output files in java
Input output files in javaKavitha713564
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and OutputEduardo Bergavera
 
Java căn bản - Chapter12
Java căn bản - Chapter12Java căn bản - Chapter12
Java căn bản - Chapter12Vince Vo
 
IO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingIO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingGurpreet singh
 
Chapter 10.3
Chapter 10.3Chapter 10.3
Chapter 10.3sotlsoc
 
Here is my code for a linefile editor import java.io.BufferedRea.pdf
Here is my code for a linefile editor import java.io.BufferedRea.pdfHere is my code for a linefile editor import java.io.BufferedRea.pdf
Here is my code for a linefile editor import java.io.BufferedRea.pdfpratyushraj61
 
import java.io.BufferedReader;import java.io.File;import java.io.pdf
import java.io.BufferedReader;import java.io.File;import java.io.pdfimport java.io.BufferedReader;import java.io.File;import java.io.pdf
import java.io.BufferedReader;import java.io.File;import java.io.pdfmanojmozy
 
Jedi Slides Intro2 Chapter12 Advanced Io Streams
Jedi Slides Intro2 Chapter12 Advanced Io StreamsJedi Slides Intro2 Chapter12 Advanced Io Streams
Jedi Slides Intro2 Chapter12 Advanced Io StreamsDon Bosco BSIT
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4Sunil OS
 

Similar to Understanding java streams (20)

Java Programming - 06 java file io
Java Programming - 06 java file ioJava Programming - 06 java file io
Java Programming - 06 java file io
 
CORE JAVA-1
CORE JAVA-1CORE JAVA-1
CORE JAVA-1
 
File Input and output.pptx
File Input  and output.pptxFile Input  and output.pptx
File Input and output.pptx
 
Lab4
Lab4Lab4
Lab4
 
File Handling in Java.pdf
File Handling in Java.pdfFile Handling in Java.pdf
File Handling in Java.pdf
 
Input output files in java
Input output files in javaInput output files in java
Input output files in java
 
Java I/O
Java I/OJava I/O
Java I/O
 
Chapter 12 - File Input and Output
Chapter 12 - File Input and OutputChapter 12 - File Input and Output
Chapter 12 - File Input and Output
 
Java căn bản - Chapter12
Java căn bản - Chapter12Java căn bản - Chapter12
Java căn bản - Chapter12
 
IO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxingIO Streams, Serialization, de-serialization, autoboxing
IO Streams, Serialization, de-serialization, autoboxing
 
Chapter 10.3
Chapter 10.3Chapter 10.3
Chapter 10.3
 
Oodp mod4
Oodp mod4Oodp mod4
Oodp mod4
 
Here is my code for a linefile editor import java.io.BufferedRea.pdf
Here is my code for a linefile editor import java.io.BufferedRea.pdfHere is my code for a linefile editor import java.io.BufferedRea.pdf
Here is my code for a linefile editor import java.io.BufferedRea.pdf
 
import java.io.BufferedReader;import java.io.File;import java.io.pdf
import java.io.BufferedReader;import java.io.File;import java.io.pdfimport java.io.BufferedReader;import java.io.File;import java.io.pdf
import java.io.BufferedReader;import java.io.File;import java.io.pdf
 
Jedi Slides Intro2 Chapter12 Advanced Io Streams
Jedi Slides Intro2 Chapter12 Advanced Io StreamsJedi Slides Intro2 Chapter12 Advanced Io Streams
Jedi Slides Intro2 Chapter12 Advanced Io Streams
 
Unit IV Notes.docx
Unit IV Notes.docxUnit IV Notes.docx
Unit IV Notes.docx
 
Java IO Streams V4
Java IO Streams V4Java IO Streams V4
Java IO Streams V4
 
Code red SUM
Code red SUMCode red SUM
Code red SUM
 
Bhaloo
BhalooBhaloo
Bhaloo
 
Files io
Files ioFiles io
Files io
 

Recently uploaded

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxRosabel UA
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEaurabinda banchhor
 

Recently uploaded (20)

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptxINCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
INCLUSIVE EDUCATION PRACTICES FOR TEACHERS AND TRAINERS.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Presentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptxPresentation Activity 2. Unit 3 transv.pptx
Presentation Activity 2. Unit 3 transv.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Dust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSEDust Of Snow By Robert Frost Class-X English CBSE
Dust Of Snow By Robert Frost Class-X English CBSE
 

Understanding java streams

  • 1.
  • 2.  Understand the stream  Know the difference between byte and character streams  Know Java’s byte stream classes  Know Java’s character stream classes  Know the predefined streams  Use byte streams  Use byte streams for file I/O  Read and write binary data  Use character streams  Use character streams for file I/O  Object Serialization  Object Deserialization
  • 3. A stream is an abstract representation of an input or output device that is a source of, or destination for, data. You can write data to a stream and read data from a stream. You can visualize a stream as a sequence of bytes that flows into or out of your program Java programs perform I/O through streams. A stream is an abstraction that either produces or consumes information. A stream is linked to a physical device by the Java I/O system. All streams behave in the same manner, even if the actual physical devices they are linked to differ. Thus, the same I/O classes and methods can be applied to any type of device. For example, the same methods that you use to write to the console can also be used to write to a disk file. Java implements streams within class hierarchies defined in the java.io package.
  • 4. Modern versions of Java define two types of Streams: byte and character. Byte streams provide a convenient means for handling input and output of bytes. Byte streams are used, for example, when reading or writing binary data. They are especially helpful when working with files. Character streams are designed for handling the input and output of characters. Character streams use Unicode and, therefore, can be internationalized. Also, in some cases, character streams are more efficient than byte streams. At the lowest level, all I/O is still byte-oriented. The character-based streams simply provide a convenient and efficient means for handling characters.
  • 5. Byte streams are defined by using two class hierarchies. At the top of these are two abstract classes: InputStream and OutputStream. InputStream defines the characteristics common to byte input streams and OutputStream describes the behavior of byte output streams. From InputStream and OutputStream are created several concrete subclasses that offer varying functionality and handle the details of reading and writing to various devices, such as disk files.
  • 6. Character streams are defined by using two class hierarchies topped by these two abstract classes: Reader and Writer. Reader is used for input, and Writer is used for output. Concrete classes derived from Reader and Writer operate on Unicode character streams. From Reader and Writer are derived several concrete subclasses that handle various I/O situations. In general, the character-based classes parallel the byte-based classes.
  • 7. As you know, all Java programs automatically import the java.lang package. This package defines a class called System, which encapsulates several aspects of the run-time environment. Among other things, it contains three predefined stream variables, called in, out, and err. These fields are declared as public and static within System. This means that they can be used by any other part of your program and without reference to a specific System object. System.out refers to the standard output stream. By default, this is the console. System.in refers to standard input, which is by default the keyboard. System.err refers to the standard error stream, which is also the console by default. However, these streams can be redirected to any compatible I/O device.
  • 8. BufferedInputStream  InputStream  BufferedOutputStream  ObjectInputStream  ByteArrayInputStream  ObjectOutputStream  ByteArrayOutputStream  OutputStream  DataInputStream  PipedInputStream  DataOutputStream  PipedOutputStream  FileInputStream  PrintStream  FileOutputStream  PushbackInputStream  FilterInputStream  RandomAccessFile  FilterOutputStream  SequenceInputStream
  • 9. BufferedReader  LineNumberReader  BufferedWriter  OutputStreamWriter  CharArrayReader  PipedReader  CharArrayWriter  PipedWriter  FileReader  PrintWriter  FileWriter  PushbackReader  FilterReader  Reader  FilterWriter  StringReader  InputStreamReader  StringWriter
  • 10. import java.io.*; class ReadBytes { public static void main(String args[]) throws Exception { byte data[] = new byte[10]; System.out.println("Enter some characters."); System.in.read(data); System.out.print("You entered: "); for(int i=0; i < data.length; i++) System.out.print((char) data[i]); } }
  • 11. class WriteDemo { public static void main(String args[]) { int b; b = 'X'; System.out.write(b); System.out.write('n'); } }
  • 12. import java.io.*; class ShowFile { public static void main(String args[]) throws IOException { int i; FileInputStream fin = new FileInputStream(args[0]); do { i = fin.read(); if(i != -1) System.out.print((char) i); } while(i != -1); fin.close(); } }
  • 13. import java.io.*; class CopyFile { public static void main(String args[]) throws Exception { int i; FileInputStream fin = new FileInputStream(args[0]); FileOutputStream fout = new FileOutputStream(args[1]); do { i = fin.read(); if(i != -1) fout.write(i); } while(i != -1); fin.close(); fout.close(); } }
  • 14. import java.io.*; class RWData { public static void main(String args[]) throws Exception { DataOutputStream dataOut = new DataOutputStream(new FileOutputStream("testdata")); int i = 10; double d = 1023.56; boolean b = true; System.out.println("Writing " + i); dataOut.writeInt(i); System.out.println("Writing " + d); dataOut.writeDouble(d); System.out.println("Writing " + b); dataOut.writeBoolean(b); System.out.println("Writing " + 12.2 * 7.4); dataOut.writeDouble(12.2 * 7.4); dataOut.close(); System.out.println(); DataInputStream dataIn = new DataInputStream(new FileInputStream("testdata")); i = dataIn.readInt(); System.out.println("Reading " + i); d = dataIn.readDouble(); System.out.println("Reading " + d); b = dataIn.readBoolean(); System.out.println("Reading " + b); d = dataIn.readDouble(); System.out.println("Reading " + d); dataIn.close(); } }
  • 15. import java.io.*; class CompFiles { public static void main(String args[])throws Exception { int i=0, j=0; FileInputStream f1 = new FileInputStream(args[0]); FileInputStream f2 = new FileInputStream(args[1]); do { i = f1.read(); j = f2.read(); if(i != j) break; } while(i != -1 && j != -1); if(i != j) System.out.println("Files differ."); else System.out.println("Files are the same."); f1.close(); f2.close(); } }
  • 16. import java.io.*; class ReadChars { public static void main(String args[]) throws Exception { char c; BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter characters, period to quit."); do { c = (char) br.read(); System.out.println(c); } while(c != '.'); } }
  • 17. import java.io.*; Create BufferedReader class ReadLines { public static void main(String args[]) Throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; System.out.println("Enter lines of text."); System.out.println("Enter 'stop' to quit."); do { str = br.readLine(); System.out.println(str); } while(!str.equals("stop")); } }
  • 18. import java.io.*; public class PrintWriterDemo { public static void main(String args[]) { PrintWriter pw = new PrintWriter(System.out, true); int i = 10; double d = 123.65; pw.println("Using a PrintWriter."); pw.println(i); pw.println(d); pw.println(i + " + " + d + " is " + (i+d)); } }
  • 19. import java.io.*; class KtoD { public static void main(String args[]) throws Exception { String str; FileWriter fw = new FileWriter("test.txt"); BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); System.out.println("Enter text ('stop' to quit)."); do { System.out.print(": "); str = br.readLine(); if(str.compareTo("stop") == 0) break; str = str + "rn"; // add newline fw.write(str); } while(str.compareTo("stop") != 0); fw.close(); } }
  • 20. import java.io.*; class DtoS { public static void main(String args[]) throws Exception { FileReader fr = new FileReader("test.txt"); BufferedReader br = new BufferedReader(fr); String s; while((s = br.readLine()) != null) { System.out.println(s); } fr.close(); } }
  • 21. class MyClass implements Serializable { double id; String name; String course; public MyClass(double i, String n, String c) { id=i; name=n;course=c; } public String toString() { return “ID: " + id + “nNAME: " + name + “nCOURSE: "+ course; } }
  • 22. import java.io.*; public class SerializationDemo { public static void main(String args[]) throws Exception{ // Object serialization MyClass object1 = new MyClass(2342, “Shahjahan”, “Java”); System.out.println("object1: " + object1); FileOutputStream fos = new FileOutputStream("serial"); ObjectOutputStream oos = new ObjectOutputStream(fos); oos.writeObject(object1); oos.flush(); oos.close(); }
  • 23. // Object deserialization MyClass object2; FileInputStream fis = new FileInputStream("serial"); ObjectInputStream ois = new ObjectInputStream(fis); object2 = (MyClass)ois.readObject(); ois.close(); System.out.println("object2: " + object2); } }
  • 24. import java.util.zip.*; import java.io.*; public class GZIPcompress { public static void main(String[] args)throws IOException { BufferedReader in = new BufferedReader( new FileReader(args[0])); BufferedOutputStream out = new BufferedOutputStream( new GZIPOutputStream( new FileOutputStream("test.gz"))); int c; while((c = in.read()) != -1) out.write(c); in.close(); out.close(); BufferedReader in2 = new BufferedReader( new InputStreamReader(new GZIPInputStream( new FileInputStream("test.gz")))); String s; while((s = in2.readLine()) != null) System.out.println(s); } }