Diferença de Java entre FileWriter e BufferedWriter
Qual a diferença entre esses? Eu só estou aprendendo Java ATM, mas parece que eu posso escrever em um arquivo de ambas as formas, ou seja, (eu não copiei o bloco try-catch aqui).
FileWriter file = new FileWriter("foo.txt");
file.write("foobar");
file.close();
e
FileWriter file = new FileWriter("foo.txt");
BufferedWriter bf = new BufferedWriter(file);
bf.write("foobar");
bf.close();
Eu entendo o conceito de buffering dos dados primeiro, então isso significa que o primeiro exemplo grava os caracteres um por um e o segundo primeiro armazena-o na memória e o grava uma vez?