Arquivos

Um arquivo é uma abstração utilizada por sistemas operacionais para uniformizar a interação entre o ambiente de execução e os dispositivos externos a ele em um computador. Tipicamente, a interação de um programa com um dispositivo através de arquivos passa por três etapas:

  1. abertura ou criação de um arquivo,
  2. transferência de dados, e
  3. fechamento do arquivo.

Em Java, a classe File permite representar arquivos nesse nível de abstração. Um dos construtores desta classe recebe como argumento uma string que pode identificar, por exemplo, o nome de um arquivo em disco. Os métodos desta classe permitem obter informações sobre o arquivo -- por exemplo, exists(), canRead(), canWrite(), length() e lastModified() -- e realizar operações sobre o arquivo como um todo, como em delete() e deleteOnExit().

Observe que as funcionalidades de transferência seqüencial de dados a partir de ou para um arquivo não é suportada pela classe File, mas sim pelas classes FileInputStream, FileOutputStream, FileReader e FileWriter. Todas estas classes oferecem pelo menos um construtor que recebe como argumento um objeto da classe File e implementam os métodos básicos de transferência de dados suportados respectivamente por InputStream, OutputStream, Reader e Writer.

Para aplicações que necessitam manipular arquivos de forma não seqüencial (ou "direta"), envolvendo avanços ou retrocessos arbitrários na posição do arquivo onde ocorrerá a transferência, Java oferece a classe RandomAccessFile.