1 / 6

Exploring Java I/O: Readers, Writers, and Stream Handling

This document provides an in-depth overview of Java's input and output classes, focusing on the use of readers and writers for handling character and byte streams. Key classes such as BufferedReader, FileReader, InputStreamReader, and various Writer classes (FileWriter, PrintWriter, etc.) are discussed. You'll learn how to create, read from, and write to files, as well as utilize streams effectively. Additionally, custom output stream examples, such as NullOutputStream and CapOutputStream, demonstrate how to extend standard output functionalities.

lydie
Télécharger la présentation

Exploring Java I/O: Readers, Writers, and Stream Handling

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Files and I/O CSC1351

  2. Input • Reader - based on chars • BufferedReader - wraps a reader • String readLine() • FileReader - opens files for reading • StringReader - reads from a string • InputStreamReader - wraps in input stream • InputStream - based on bytes • BufferedInputStream - wraps an input stream • FileInputStream - opens files for reading • ObjectInputStream - read whole objects • ByteArrayInputStream - read from a byte array

  3. Output • Writer • FileWriter - create / append to files • StringWriter - create strings • BufferedWriter - wrapper for a writer • PrintWriter - provides println() • OutputStreamWriter - write to a stream • OutputStream • FileOutputStream - create / append to files • ByteArrayOutputStream - create a byte array • BufferedOutputStream - wraper for a stream • PrintStream - provides println() • ObjectOutputStream - write whole objects

  4. Making your own • javap java.io.Reader | grep abstract • int read(char[], int, int); • void close(); • javap java.io.InputStream | grep abstract • int read(); • javap java.io.Writer | grep abstract • void write(char[], int, int) • void flush(); • void close(); • javap javai.io.OutputStream | grep abstract • void write(int);

  5. import java.io.OutputStream; import java.io.PrintStream; public class NullOutputStream extends OutputStream { public void write(int a) {} public static void main(String[] args) { NullOutputStream nout = new NullOutputStream(); PrintStream ps = new PrintStream(nout); ps.println("Hello, world."); } } NullOutputStream

  6. import java.io.OutputStream; import java.io.PrintStream; public class CapOutputStream extends OutputStream { public void write(int a) { char c = (char)a; System.out.write(Character.toUpperCase(c)); } public static void main(String[] args) { CapOutputStream cout = new CapOutputStream(); PrintStream ps = new PrintStream(cout); ps.println("Hello, world."); } } CapOutputStream

More Related