Início

Programming and Data Persistence

UA1 — Introdução à Manipulação de Arquivos

Arquivos são conjuntos de dados persistidos fora da memória principal — a base de qualquer sistema que precisa guardar informações entre execuções. Entender como criá-los, lê-los, gravá-los e fechá-los corretamente é o ponto de partida da persistência de dados.

O que são arquivos digitais

Arquivo é uma coleção de dados relacionados, armazenada em dispositivos de memória auxiliar (HD, SSD, pendrive, nuvem) e identificada por um nome. Diferentemente de variáveis — que existem apenas enquanto o programa está em execução — arquivos persistem após o encerramento do programa, garantindo que os dados sobrevivam entre sessões.

O nome de um arquivo é composto por duas partes:

  • Nome: definido pelo criador; deve ser descritivo para facilitar buscas futuras.
  • Extensão: sufixo que identifica o tipo do arquivo e o programa capaz de abri-lo (.docx, .pdf, .mp3). Funciona como o “sobrenome” do arquivo — diz ao sistema operacional como lê-lo.
Guia de Manipulação de Arquivos
Visão geral: o que é um arquivo, anatomia, operações e segurança

Tipos de arquivos

Arquivos de texto

Armazenam caracteres legíveis em qualquer editor de texto simples. A unidade básica de acesso é o caractere.

FormatoPrograma
.doc / .docxMicrosoft Word
.odtLibreOffice Writer
.txtQualquer editor de texto
.pdfAdobe Reader (e outros)

Planilhas

Grades de células vinculadas a fórmulas matemáticas. Permitem desde somas simples até planejamentos financeiros complexos. Principais: .xls/.xlsx (Excel), .ods (LibreOffice Calc).

Apresentações

Slides sequenciais para exibição. Principais: .ppt/.pptx (PowerPoint), .odp (LibreOffice Impress).

Multimídia

Inclui vídeo (.mp4, .avi), áudio (.mp3, .wav, .wma) e imagem (.jpeg, .bmp, .gif). São os arquivos que mais circulam na web e os mais suscetíveis a ocultar vírus — exigem cautela redobrada em ambientes corporativos.

Compressão

Agrupam vários arquivos em um único pacote comprimido, reduzindo o espaço ocupado. Principais: .zip, .rar.

PDF — Portable Document Format

O PDF preserva o layout original de um documento independentemente do SO ou software do receptor. Salvar um .doc como .pdf impede edições pelo receptor — embora ferramentas modernas já consigam editar PDFs, o que exige atenção extra ao usá-lo para proteger documentos importantes.

Formas de manipulação de arquivos

Criação Instanciar um novo arquivo requer domínio básico do software. Processadores de texto permitem uso intuitivo desde o início; planilhas eletrônicas exigem conhecimento mínimo de fórmulas para serem úteis.

Edição Todas as alterações em arquivos digitais ficam rastreadas internamente — é possível auditá-las por análise pericial ou pelas próprias ferramentas do software. Ao editar um arquivo de terceiros, é imprescindível ter autorização prévia.

Salvamento O maior risco é a perda por má nomeação (nome genérico impede localização futura) ou por falha no hardware de armazenamento. A prática recomendada é nomear descritivamente e manter cópias em pelo menos um local adicional.

Impressão Transporte do conteúdo digital para o suporte físico. Ao imprimir e assinar fisicamente, a possibilidade de edição silenciosa é suprimida — relevante para documentos legais.

Digitalização Caminho inverso da impressão: converte o documento físico em arquivo digital (geralmente PDF via scanner), preservando assinaturas e marcas originais.

Segurança: backup

Backup é a cópia de segurança dos dados, espelhada em outro local para garantir recuperação em caso de perda ou dano.

ModalidadeDescriçãoRisco
Pen drive / HD externoHardware físico para transferência manualDepende do usuário executar; sujeito a desgaste físico
NuvemServidor virtual; acessível de qualquer dispositivo com internetDepende de conexão; custo de plano
Backup no próprio sistemaFerramentas nativas do SO com restauração automáticaFalha no disco apaga original e backup juntos

Boas práticas de backup

  • Mantenha pelo menos duas cópias em locais físicos distintos.
  • Use nomes de arquivo descritivos para facilitar buscas futuras.
  • Prefira a nuvem para arquivos críticos: imune a falhas de hardware e acessível remotamente.

Outras ferramentas complementam o backup: firewalls bloqueiam acessos não autorizados à rede; antivírus detectam e removem malwares que podem corromper ou roubar arquivos.

Operações com arquivos em programas

Toda linguagem de programação oferece comandos para manipular arquivos. As operações fundamentais são:

OperaçãoDescrição
AbrirVincula uma variável do programa ao arquivo físico no disco
LerLê dados do arquivo para a memória do programa
EscreverGrava dados da memória no arquivo
FecharLibera o arquivo de volta ao sistema operacional

Fechar o arquivo é obrigatório

Não fechar um arquivo pode causar perda de dados (gravações pendentes em buffer não são persistidas), corrupção e bloqueio de acesso por outros processos. Em Python, o idioma moderno é usar with open(...) as f: — o arquivo é fechado automaticamente ao sair do bloco.

Verificação de fim de arquivo (EOF)

Ao ler sequencialmente, é obrigatório testar se chegou ao fim do arquivo antes de cada leitura — caso contrário, o programa tenta ler além do conteúdo e gera erro.

algoritmo "leitura-arquivo"
arquivo "dados.txt"
var
  linha : caracter
inicio
  repita
    leia(arquivo, linha)
    escreval("Lido: ", linha)
  ate fim(arquivo)
fimalgoritmo

Arquivos de texto vs. arquivos binários

CaracterísticaTextoBinário
Unidade de acessoCaractereByte
Legível sem programa especialSimNão
Portabilidade entre linguagensAltaBaixa
Eficiência de armazenamentoMenorMaior
Exemplos.txt, .csv, .json.exe, .png, .mp3

Arquivos de texto são preferíveis para intercâmbio de dados entre sistemas em linguagens diferentes — qualquer linguagem sabe ler e escrever texto. Arquivos binários são mais eficientes em espaço e velocidade, mas a interpretação depende do formato específico e não é portável entre linguagens distintas.

Acesso sequencial vs. acesso direto (randômico)

Acesso sequencial: os registros são lidos um a um, na ordem em que foram gravados, do início ao fim. Não é possível ir diretamente ao registro N sem percorrer os N-1 anteriores. É o modelo dos arquivos de texto.

Acesso direto (randômico): é possível acessar qualquer registro diretamente por meio de um endereço (posição), sem percorrer os anteriores. Típico de arquivos binários com registros de tamanho fixo.

Acesso sequencialAcesso direto
NavegaçãoUm a um, do inícioQualquer posição diretamente
Tipo comumArquivo de textoArquivo binário com registros fixos
ExemploLeitura linha a linha de um .logBanco de dados simples em C

Práticas Modernas — Manipulação de Arquivos

  • Formatos estruturados: no desenvolvimento moderno, arquivos de texto raramente armazenam dados livres — seguem formatos como JSON (APIs e configurações), CSV (dados tabulares) e YAML (configurações legíveis por humanos como Docker e GitHub Actions).
  • Arquivos binários de alto desempenho: formatos como Parquet (colunar) e Protocol Buffers substituem CSVs em pipelines de grande volume — até 10× mais rápidos e com compressão nativa.
  • Streams em vez de carga total: carregar um arquivo inteiro na memória antes de processar não escala. A abordagem moderna é processar em stream (linha a linha ou bloco a bloco), mantendo consumo de memória constante.
  • Nuvem como sistema de arquivos: AWS S3, Google Cloud Storage e Azure Blob Storage expõem as mesmas operações (abrir, ler, escrever) sobre objetos remotos, tratados como arquivos virtuais com chaves e versões.

Dicas para a Prova

  • Ordenação não é uma operação básica de manipulação de arquivos — as básicas são: abrir, ler, escrever e fechar.
  • Para usar um arquivo em um programa é necessário vincular uma variável de memória ao arquivo físico — isso é o que o comando “abrir” faz.
  • Fechar o arquivo libera-o para o sistema operacional — sem fechar, outros processos podem não conseguir acessá-lo.
  • A unidade básica de arquivos de texto é o caractere; de arquivos binários é o byte.
  • Arquivos de texto são melhores para compartilhamento entre sistemas em linguagens diferentes — binários não são portáveis entre linguagens distintas.
  • Acesso direto (randômico) = ir a qualquer registro diretamente por endereço; acesso sequencial = percorrer um a um desde o início.
  • “Comparar” não é uma operação de arquivo — as operações são: abrir, ler, escrever e fechar.
  • Arquivos de multimídia são os mais suscetíveis a ocultar vírus — use antivírus e bom senso no ambiente corporativo.

Referências bibliográficas desta UA

  • QUIRINO, A. Algoritmo e Programação. Porto Alegre: SAGAH, 2018.
  • VELLOSO, F. C. Informática: conceitos básicos. 8. ed. Rio de Janeiro: Elsevier Campus, 2011.