Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios

Como retornar o tamanho de um arquivo em bytes, kilobytes e megabytes usando Java - Lista de Exercícios Resolvidos de Java

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

Escreva um programa Java que pede para o usuário informar o caminho e nome de um arquivo. Em seguida seu programa deverá informar o tamanho do arquivo em bytes, kilobytes e megabytes.

Sua saída deverá ser parecida com:

Informe o nome e caminho do arquivo: C:\estudos_java\lago.jpg
Tamanho em Bytes: 143060 bytes
Tamanho em Kilobytes: 139.70 kb
Tamanho em Megabytes: 0.13 mb
Resposta/Solução:

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

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

package estudos;

import java.io.File;
import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    
    // vamos pedir para o usuário informar o nome de um arquivo
    System.out.print("Informe o nome e caminho do arquivo: ");
    String arquivoStr = entrada.nextLine();
    
    // agora vamos criar uma instância da classe File
    File arquivo = new File(arquivoStr);
    // o arquivo existe?    
    if(arquivo.exists()){
      // vamos mostrar o tamanho do arquivo em bytes
      System.out.println("Tamanho em Bytes: " +
        arquivo.length() + " bytes");
      // vamos mostrar o tamanho do arquivo em kilobytes
      System.out.println("Tamanho em Kilobytes: " +
        (double) (arquivo.length() / (1024 * 1.0)) + " kb");
      // vamos mostrar o tamanho do arquivo em megabytes
      System.out.println("Tamanho em Megabytes: " +
        (double) (arquivo.length() / (1024 * (1024 * 1.0))) + " mb");     
    }
    else{ 
      System.out.println("\nO arquivo não existe.\n");
    }
  }
}


Link para compartilhar na Internet ou com seus amigos:

C++ ::: STL (Standard Template Library) ::: Vector C++

Como usar a classe/contêiner vector da STL em seus programas C++

Quantidade de visualizações: 8723 vezes
O vetor, ou vector, é uma das classes contêineres mais simples da STL - Standard Template Library do C++. Um vector se comporta como um vetor, ou seja, uma matriz de uma linha e várias colunas, ou seja, seus elementos estão dispostos em posições contiguas na memória. O que diferencia um vector de um array comum é que o tamanho de um vector pode ser modificado dinamicamente.

A especificação do template da classe vector é:

template <class T, class Allocator = allocator<T>> class vector


Aqui T é o tipo de dados sendo armazenado (já ouvir falar em genéricos, não?) e Allocator define o modelo de alocação de armazenagem. Por padrão, o template da classe allocator para o tipo T é usado, o que define o modelo de alocação de memória mais simples e independente de valores.

Objetos da classe vector são úteis nas seguintes situações:

a) Acessar os elementos individualmente usando seus índices (tempo constante);
b) Percorrer os elementos em qualquer ordem (tempo linear);
b) Adicionar ou remover elementos no final do contêiner (tempo constante amortizado).

Para usarmos um vector em nossos programas C++ temos que incluir este contêiner da seguinte forma:

#include <vector>


Veja um trecho de código no qual criamos um vector, inserimos três inteiros e finalmente usamos um iterador para percorrer os elementos e imprimir seus valores:

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

#include <cstdlib>
#include <iostream>
#include <vector>

using namespace std;

int main(int argc, char *argv[]){
  // um vector vazio que conterá inteiros
  vector<int> valores;

  // vamos inserir três elementos
  valores.push_back(54);
  valores.push_back(13);
  valores.push_back(87);

  // vamos percorrer o vector e exibir os elementos
  vector<int>::iterator it;
  for(it = valores.begin(); it < valores.end(); it++){
    cout << *it << endl;
  }

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

Ao executarmos este código C++ nós teremos o seguinte resultado:

54
13
87


Ruby ::: Dicas & Truques ::: Strings e Caracteres

Como concatenar strings em Ruby usando o operador +

Quantidade de visualizações: 9384 vezes
Nesta dica mostrarei como podemos usar o operador + (operador de adição ou soma) para concatenar strings na linguagem Ruby. Veja:

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

frase1 = "Gosto muito de Ruby"
frase2 = " e de Java"

# vamos concatenar as duas strings
res = frase1 + frase2

# exibe o resultado
puts res

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

Gosto muito de Ruby e de Java


GNU Octave ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o comprimento da hipotenusa em GNU Octave dadas as medidas do cateto oposto e do cateto adjascente

Quantidade de visualizações: 845 vezes
Nesta dica mostrarei como é possível usar a linguagem GNU Octave para retornar o comprimento da hipotenusa dadas as medidas do cateto oposto e do cateto adjascente. Vamos começar analisando a imagem a seguir:



Veja que, nessa imagem, eu já coloquei os comprimentos da hipotenusa, do cateto oposto e do cateto adjascente. Para facilitar a conferência dos cálculos, eu coloquei também os ângulos theta (que alguns livros chamam de alfa) e beta já devidamente calculados.

Então, sabendo que o quadrado da hipotenusa é igual à soma dos quadrados dos catetos (Teorema de Pitógoras):

\[c^2 = a^2 + b^2\]

Tudo que temos a fazer a converter esta fórmula para código GNU Octave (um script do GNU Octave). Veja:

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

a <- 20 # medida do cateto oposto
b <- 30 # medida do cateto adjascente
  
# agora vamos calcular o comprimento da hipotenusa
c <- sqrt(power(a, 2) + power(b, 2))
 
# e mostramos o resultado
fprintf("O comprimento da hipotenusa é: %f\n\n", c)

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

O comprimento da hipotenusa é: 36.056000

Como podemos ver, o resultado retornado com o código GNU Octave confere com os valores da imagem apresentada.


Python ::: Python Turtle ::: Formulários e Janelas

Como definir o título da janela do Python Turtle usando a função title()

Quantidade de visualizações: 1066 vezes
A função title() do Turtle é muito útil quando queremos definir o título da nossa aplicação Python Turtle. Tudo que temos a fazer é efetuar uma chamada a essa função fornecendo o título que queremos que seja exibido na barra de títulos.

Veja o código Python Turtle para o exemplo:

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

# vamos importar o módulo Turtle 
import turtle

# método principal
def main():
  # vamos criar a tela gráfica
  tela = turtle.Screen()
  
  # vamos definir o título da janela
  tela.title("Meu programa Python Turtle")

  # vamos definir o tamanho da janela
  tela.setup(600, 450)

  # entramos no loop de eventos
  tela.mainloop()

if __name__== "__main__":
  main()

Note que não é possível usar a função title() para retornar o título da janela. Caso você queira fazer isso, é melhor usar uma variável para guardar o título da janela e manipulá-la durante a execução do programa.


C# ::: Dicas & Truques ::: Mouse e Teclado

Como desenhar em um formulário C# usando o mouse - Código-fonte completo

Quantidade de visualizações: 10106 vezes
Quando estamos estudando os eventos do mouse, a primeira idéia que vem à cabeça é como usar tais eventos para escrever um programa de desenho. O código abaixo mostra como isso pode ser feito.

Aqui nós usamos três eventos do mouse: MouseDown (ocorre quando o botão do mouse está pressionado), MouseUp (ocorre quando o botão do mouse é liberado) e MouseMove (ocorre quando movimentamos o mouse na superfície de um componente).

Dessa forma, quando o botão do mouse é pressionado nós ativamos uma variável indicando que o movimento do mouse pode vir acompanhado de um desenho. Quando o botão do mouse é liberado nós definimos o valor desta variável como false. Isso faz com que o desenho só seja realizado se movermos o mouse com o botão pressionado.

Veja o código:

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace EstudosWindowForms {
  public partial class Form1 : Form {
    // indica se podemos ou não desenhar no formulário
    bool pintar = false;

    public Form1() {
      InitializeComponent();
    }

    private void Form1_MouseDown(object sender, MouseEventArgs e) {
      // podemos iniciar o desenho 
      pintar = true;
    }

    private void Form1_MouseUp(object sender, MouseEventArgs e) {
      // vamos parar de desenhar 
      pintar = false;
    }

    private void Form1_MouseMove(object sender, MouseEventArgs e) {
      // vamos desenhar?
      if (pintar) { // o botão do mouse está pressionado
        // vamos desenhar um círculo na posição atual do mouse 
        Graphics g = CreateGraphics();
        g.FillEllipse(new SolidBrush(Color.Maroon), e.X, e.Y, 5, 5);
        g.Dispose();
      }
    }
  }
}



Desafios, Exercícios e Algoritmos Resolvidos de C#

Veja mais Dicas e truques de C#

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



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