Engineering Full Stack Apps with Java and JavaScript
Need to copy a file using BufferedReader, BufferedWriter.
BufferedReader adds the ability to buffer the input and to support the mark and reset methods, using a FileReader. ABufferedWriter writes to the file using FileWriter when the buffer is full.
import java.io.*;
public class FileCopierBuffered {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("myFile.txt");
BufferedReader br = new BufferedReader(fr);
System.out.println("Is markable? " + br.markSupported());
FileWriter fw = new FileWriter("myFileOut.txt", true);
BufferedWriter bw = new BufferedWriter(fw);
int b = br.read();
boolean markDone = false;
boolean resetDone = false;
while (b != -1) {
char ch = (char) b;
System.out.println(ch);
if ((ch == 'c') && !markDone) {
br.mark(512);
markDone = true;
}
if ((ch == 'd') && !resetDone) {
br.reset();
resetDone = true;
}
bw.write(ch);
b = br.read();
}
bw.close();
br.close();
}
}