Posso ler o conteúdo de um arquivo zipado sem extração?
Estritamente falando, as outras respostas estão "erradas" na medida em que abrir um ficheiro a partir de um ZIP é de facto extraí-lo. Mesmo que você esteja usando alguma idéia automatizada como a visualização zip-as-a-folder no Windows. Enquanto as respostas são praticamente corretas, você não precisa extrair "manualmente" do ZIP.
O que todos esses programas automatizados fazem (incluindo o explorador de arquivos do Windows) é extrair o arquivo para um local temporário e depois abrir o arquivo de lá. A maioria deles então tenta re-comprimir o arquivo uma vez que você tenha terminado com ele - embora um pouco mal visto que eles precisariam descobrir quando o programa que você usou para abri-lo está terminado com o arquivo.
Se você realmente quer que um arquivo esteja em um estado comprimido no disco e somente extraído para a memória sem nenhuma desta idéia de extração temporária: então use algo como a compressão do NTFS. Ele faz praticamente a mesma coisa que o ZIP, embora esteja mais integrado ao próprio sistema de arquivos. Ou seja, mesmo que você não use o explorer para abrir seus arquivos (por exemplo, abrindo-o diretamente de dentro do diálogo de abertura do programa) o arquivo é descompactado à medida que é lido na RAM (nenhum arquivo temporário em algum outro lugar) e comprimido sempre que é salvo de volta.
Note isso significa que o desempenho é degradado, já que cada leitura é uma descompressão e cada uma escreve uma compressão. Portanto, não espere as mesmas velocidades que quando o arquivo não foi comprimido para começar. Embora isto não seja pior que a idéia ZIP.
Para a idéia ZIP automatizada (ou seja, clique duas vezes naquele arquivo dentro da "pasta" zip) há um outro problema. Ele apenas extrai o arquivo que você clicou, não todo o conteúdo. Digamos que seu programa começa com um dos arquivos, mas precisa ter acesso aos seus vizinhos. O programa falhará, já que apenas um arquivo é extraído, o resto é deixado no ZIP e o programa não consegue chegar até eles (ele nem sabe onde eles estão). Então em alguns casos esta idéia de extração automatizada não é boa.
Artigos semelhantes
- Após uma extração dentária, se ainda houver alguma parte de raiz na tomada, a que pode levar?
- Sem baixar um arquivo torrent, como faço para transferir diretamente o arquivo para qualquer serviço na nuvem?
- Android (sistema operacional): Como eu posso extrair contatos como arquivo CSV do arquivo .backup criado pelo backup do meu telefone andróide?
- Dado o conteúdo que a Disney possui, por que há tão pouco conteúdo na Disney+?