Arquivos aleatórios de leitura e gravação em java
O pacote java.io fornece a classe RandomAccessFile para a criação e acesso de arquivos aleatórios. Usando esta classe, você pode pular para qualquer local do arquivo para ler e gravar dados. O programa pode inserir dados em um arquivo aleatório sem destruir outros dados nesse arquivo. Além disso, o programa também pode atualizar ou excluir dados armazenados anteriormente sem reescrever o arquivo inteiro.
A classe RandomAccessFile é uma subclasse direta da classe de objeto e contém dois construtores principais usados para criar objetos do RandomAccessFile, como mostrado na tabela.
Deve -se notar que o modo representa o status de operação do arquivo aleatório de leitura e gravação criado, e seus valores incluem:
R: significa abrir o arquivo no modo somente leitura.
RW: significa abrir um arquivo de maneira leitura.
A tabela a seguir listas comumente usadas métodos e descrições da classe RandowAccessFile.
[Exemplo] imite o log do sistema e grave dados no final do arquivo.
importar java.io. RandomAccessFile MyFile = Novo RandomAccessFile ("Ep10_12.Log", "RW"); Escreva dados myfile .close ();
Após a execução do programa, um arquivo de EP10_12.Log é criado no diretório.
Processamento de compressão de arquivos em java
O pacote java.util.zip fornece classes que podem processar a compactação e descompressão de arquivos, que são herdados das classes de fluxo de bytes outputSteam e InputStream. Entre eles, GzipOutputStream e ZipOutputStream podem comprimir dados nos formatos GZIP e ZIP, respectivamente, e o GzipinpputStream e o ZipinputStream podem restaurar os dados compactados.
As etapas gerais para escrever arquivos em arquivos compactados são os seguintes:
Gera um objeto de classe compactado associado ao arquivo compactado a ser gerado.
Os arquivos compactados geralmente contêm mais de um arquivo.
Use PutNextEntry (entrada Zipentry) para adicionar a entrada compactada ao arquivo compactado.
Escreva o conteúdo do arquivo neste arquivo compactado.
Use CloseEntry () para encerrar a entrada de compressão atual e continuar com a próxima entrada de compressão.
As etapas gerais para ler um arquivo de um arquivo compactado são as seguintes:
Gera um objeto de classe compactado associado ao arquivo compactado a ser lido.
Use getNextEntry () para obter a próxima entrada compactada.
[Exemplo] Digite vários nomes de arquivos, compacte todos os arquivos em "EP10_13.zip" e descompacte e exiba do arquivo compactado.
Importar java.io.*; importar java.util.*; importar java.util.zip. "); // Processando o arquivo compactado ZipOutputStream Out = new ZipOutputStream (new BufferedOutputStream (a)); para (int i = 0; i <args.length; i ++) {// Processando cada arquivo inserido no sistema da linha de comando. OUT OUT. .println ("Arquivo de gravação"+args [i]); int b; ); while (z = inout.getNextEntry ())! (x = inout.read ())! =-1) System.out.Write (x);
Após a execução, crie um arquivo compactado do EP10_13.zip no diretório do programa e use o software de descompressão (como Winrar, etc.) para abri -lo. No prompt de comando, os resultados da execução do programa são mostrados na figura: