Melhor método para salvar Strings em arquivo

Qual seria a melhor forma de salvar Strings em arquivo?

[code]DataOutputStream:

writeUTF(String str);
writeBytes(String s);

ou

BufferedWriter:

write(String s, int off, int len);
[/code]

Quais as vantagens que estes métodos tem para a recuperação dos dados depois?

Existem outros além destes?

E mais, como proteger o arquivo para que ninguém edite as Strings diretamente nele?

Pergunta:

  1. Pra que voce precisa guardar informacoes em um arquivo ? Seria bom voce salvar suas informacoes em um banco de dados.

InputStream e OutputStream são as interfaces genéricas para trabalhar com IO com dados binários

Reader e Writer são as interfaces especializadas para dados em caracteres/strings, legíveis por humanos.

As classes associadas à essas interfaces normalmente são decorators, que adicionam algo extra, como o BufferedWriter que usa a memória do computador para diminuir o número de flushes para o disco.

Fora isso tem a API do NIO 2 NIO 2.