Rrjedhat e karaktereve

Byte-s në Java përdoren për të kaluar të dhëna me nga tetë bite, ndërsa rrjedhat e karaktereve në Java kalojnë të dhëna në 16bit unicode. Ka disa klasa që kryejnë veprimet në rrjedha karakteresh, por më të përdorura janë FileReader dhe FileWriter. Ne fakt, vetë FileReader përdor FileInputStream, dhe FileWriter përdor FileOutputStream, por diferenca kryesore është se FileReader lexon dy byte njëherësh, dhe FileWriter shkruan dy bytes njëherësh.

Shembull:
Edhe në këtë rast, përmbajtja e një skedari burim kalohet në një skedar destinacion

import java.io.*;
public class CopyFile {
 public static void main(String args[]) throws IOException {
  FileReader in = null;
  FileWriter out = null;
  try {
   in = new FileReader("input.txt");
   out = new FileWriter("output.txt");
   int c;
   while ((c = in.read()) != -1) {
    out.write(c);
   }
  }
  finally {
   if (in != null) {
    in.close();
   }
   if (out != null) {
     out.close();
   }
  }
 }
}