Você está aqui: Java ::: Dicas & Truques ::: Compactação e Descompactação de Arquivos - Zip, GZIP, etc

Compactando um arquivo para o formato zip

Quantidade de visualizações: 11854 vezes
/*
  Este programa mostra como é possível compactar
  um arquivo no formato zip.
*/

import java.io.*;
import java.util.zip.*;

public class Estudos{
  public static void main(String args[]) {

    // nome do arquivo que será compactado
    String arquivo = "testes.txt";
    
    // Cria um buffer para ler os dados do arquivo
    byte[] buf = new byte[1024];
    
    try{
      // Cria o arquivo zip
      String compac = "testes.zip";
      ZipOutputStream out = new ZipOutputStream(new
        FileOutputStream(compac));
    
      // Comprime o arquivo
      FileInputStream in = new FileInputStream(arquivo);
    
      // Adiciona o arquivo ao fluxo de saída
      out.putNextEntry(new ZipEntry(arquivo));
    
      // transfere dados do arquivo para o arquivo zip
      int len;
      while((len = in.read(buf)) > 0){
        out.write(buf, 0, len);
      }
    
      // Finaliza a entrada
      out.closeEntry();
      in.close();
    
      // Completa o arquivo zip
      out.close();
    }
    catch(IOException e){
      // possíveis erros aqui
    } 
  }
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercício Resolvido de Java - Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor B

Quantidade de visualizações: 323 vezes
Pergunta/Tarefa:

Escreva um programa Java que leia os elementos de um vetor A de dez elementos inteiros e construa outro vetor B com seus elementos distribuídos da seguinte forma:

Vetor A = [8, 5, 4, 1, 2, 3, 4, 6, 9, 7]
Vetor B = [24, 10, 12, 2, 6, 6, 12, 12, 27, 14]

Note que os elementos do vetor B seguem um padrão. Se o elemento do vetor A estiver em uma posição par, então o elemento do vetor B será o triplo do elemento do vetor A. Caso contrário o elemento do vetor B será o dobro do elemento do vetor A.

Neste exercício a primeira posição/índice dos vetores é assumida como sendo zero. Em algumas linguagens de programação o primeiro índice é um e não zero.

Sua saída deverá ser parecida com:

Informe o valor do 1.o elemento: 8
Informe o valor do 2.o elemento: 5
Informe o valor do 3.o elemento: 4
Informe o valor do 4.o elemento: 1
Informe o valor do 5.o elemento: 2
Informe o valor do 6.o elemento: 3
Informe o valor do 7.o elemento: 4
Informe o valor do 8.o elemento: 6
Informe o valor do 9.o elemento: 9
Informe o valor do 10.o elemento: 7

Elementos do vetor A:

8,  5,  4,  1,  2,  3,  4,  6,  9,  7  

Elementos do vetor B:

24,  10,  12,  2,  6,  6,  12,  12,  27,  14
Resposta/Solução:

Veja a resolução comentada deste exercício em Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.Scanner;
 
public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
       
    // vamos declarar e construir dois vetores de 10 inteiros
    int vetor_a[] = new int[10];
    int vetor_b[] = new int[10];
    
    // agora vamos pedir para o usuário informar os valores
    // dos elementos do vetor A
    for(int i = 0; i < vetor_a.length; i++){
      System.out.print("Informe o valor do " + (i + 1) +
        ".o elemento: ");
      vetor_a[i] = Integer.parseInt(entrada.nextLine());
    }
    
    // vamos construir o vetor B
    for(int i = 0; i < vetor_a.length; i++){
      // o índice atual é par?
      if(i % 2 == 0){
        vetor_b[i] = vetor_a[i] * 3;
      }
      else{
        vetor_b[i] = vetor_a[i] * 2;
      }
    }
      
    // vamos mostrar os elementos do vetor A
    System.out.println("\nElementos do vetor A:\n");
    for(int i = 0; i < vetor_a.length; i++){
      System.out.print(vetor_a[i] + ",  ");
    }
    
    // vamos mostrar os elementos do vetor B
    System.out.println("\n\nElementos do vetor B:\n");
    for(int i = 0; i < vetor_b.length; i++){
      System.out.print(vetor_b[i] + ",  ");
    }
    System.out.println();
  }
}



Java ::: Dicas & Truques ::: Strings e Caracteres

Apostila de Java - Como retornar uma substring em Java usando o método substring() da classe String

Quantidade de visualizações: 127 vezes
Nesta dica eu mostro como podemos obter parte de uma palavra, frase ou texto, ou seja, extrair uma substring a partir de uma string. Para isso nós podemos usar o método substring() da classe String da linguagem Java.

Esta função recebe o índice inicial (começando em 0) e o índice final (também começando em 0). O retorno será a substring contida entre estes índices.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é muito bom";
    System.out.println("Frase: " + frase); 
    
    // obtém a palavra Java
    String res = frase.substring(13, 17);
     
    System.out.println("Substring obtida: " + res);
     
    System.exit(0);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Frase: Programar em Java é muito bom
Substring obtida: Java


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Usando o laço for para exibir a tabela de caracteres ASCII de 1 até 127

Quantidade de visualizações: 3829 vezes
Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para exibir a tabela de caracteres que são equivalentes aos códigos ASCII de 1 até 127.

Sua saída deverá ser parecida com:



Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // um laço que começa em 1 e termina em 127
    for(int i = 1; i <= 127; i++){
      // vamos obter o caractere correspondente
      char c = (char)(i);
      // vamos exibí-lo
      System.out.print(c + "   ");
      
      // é hora de quebrar a linha?
      if(i % 10 == 0){
        System.out.println();
      }
    }
    
    System.out.println();
  }
}



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 27 usuários muito felizes estudando em nosso site.