Você está aqui: Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Escrevendo e lendo tipos primitivos em um arquivo usando a classe RandomAccessFileQuantidade de visualizações: 8775 vezes |
A classe RandomAccessFile fornece muitos métodos para escrever e ler tipos primitivos em um arquivo. Esta dica detalha os principais e fornece alguns exemplos. Vamos começar com os métodos de escrita: writeBoolean(boolean v), writeChar(int v), writeDouble(double v), writeFloat(float v), writeInt(int v), writeLong(long v), writeShort(int v) e writeUTF(String str). Todos estes métodos são void e a maioria escreve seus valores como grupos de bytes. Algumas diferenças entre eles estão documentadas na API Java. Agora os métodos de leitura: 1) readBoolean() - retorna um boolean; 2) readChar() - retorna um caractere Unicode; 3) readDouble() - retorna um double; 4) readFloat() - retorna um float; 5) readInt() - retorna um inteiro de 32 bits com sinal; 6) readLong() - retorna um inteiro de 64 bits com sinal; 7) readShort() - retorna um inteiro de 16 bits com sinal; 8) readUnsignedShort() - retorna um inteiro de 16 bits sem sinal. Veja um trecho de código no qual usamos os métodos writeInt() e readInt() para escrever e ler inteiros em um arquivo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.io.*; public class Estudos{ public static void main(String[] args){ // uma instância de RandomAccessFile para leitura e escrita // se o arquivo não existir ele será criado try{ RandomAccessFile arquivo = new RandomAccessFile("C:\\java\\valores.dat", "rw"); // vamos escrever inteiros no arquivo arquivo.writeInt(38); arquivo.writeInt(7273); arquivo.writeInt(1200); arquivo.close(); } catch(FileNotFoundException fnfe){ System.out.println(fnfe.getMessage()); } catch(IOException ioe){ System.out.println(ioe.getMessage()); } // vamos fazer a leitura dos escritos gravados anteriormente try{ RandomAccessFile arquivo = new RandomAccessFile("C:\\java\\valores.dat", "r"); int tam = (int)(arquivo.length() / 4); // grupo de 4 bytes for(int i = 0; i < tam; i++){ System.out.println(arquivo.readInt()); } arquivo.close(); } catch(FileNotFoundException fnfe){ System.out.println(fnfe.getMessage()); } catch(IOException ioe){ System.out.println(ioe.getMessage()); } System.exit(0); } } É possível misturar os métodos de escrita e leitura dos tipos primitivos, mas, temos que ficar atentos para não tentarmos ler um int a partir de um arquivo que só contém booleans, por exemplo. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.io.*; public class Estudos{ public static void main(String[] args){ // uma instância de RandomAccessFile para leitura e escrita // se o arquivo não existir ele será criado try{ RandomAccessFile arquivo = new RandomAccessFile("C:\\java\\valores.dat", "rw"); // vamos escrever um float arquivo.writeFloat(15.79f); // vamos escrever um boolean arquivo.writeBoolean(true); // vamos escrever um short arquivo.writeShort(132); arquivo.close(); } catch(FileNotFoundException fnfe){ System.out.println(fnfe.getMessage()); } catch(IOException ioe){ System.out.println(ioe.getMessage()); } // vamos fazer a leitura dos primitivos escritos // anteriormente try{ RandomAccessFile arquivo = new RandomAccessFile("C:\\java\\valores.dat", "r"); // vamos ler o float System.out.println(arquivo.readFloat()); // vamos ler o boolean System.out.println(arquivo.readBoolean()); // vamos ler o short System.out.println(arquivo.readShort()); arquivo.close(); } catch(FileNotFoundException fnfe){ System.out.println(fnfe.getMessage()); } catch(IOException ioe){ System.out.println(ioe.getMessage()); } System.exit(0); } } Não se esqueça que o ponteiro de arquivo é adiantado a cada leitura efetuada em um arquivo encapsulado por um objeto da classe RandomAccessFile. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Data e Hora |
Como exibir a data e hora atual na linguagem Java usando um objeto Date e seu método toString()Quantidade de visualizações: 111 vezes |
Nesta dica mostrarei como criar um novo objeto da classe Date, do pacote java.util, e usar seu método toString() para exibir a data e hora atual no formato "dia da semana/mês/dia do mês"...etc. Veja o código completo abaixo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.Date; public class Exemplo{ public static void main(String args[]){ Date data = new Date(); System.out.println(data.toString()); } } Ao executar este código nós teremos o seguinte resultado: Mon Mar 08 22:13:15 BRT 2019 |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como escrever em um arquivo usando Java - Como escrever em um arquivo usando as classes BufferedWriter e FileWriter do JavaQuantidade de visualizações: 23131 vezes |
Nesta dica mostrarei como podemos usar a linguagem Java para escrever em um arquivo texto. Para isso nós vamos usar as classes BufferedWriter e FileWriter. Veja o trecho de 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; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class Estudos{ public static void main(String args[]){ try { BufferedWriter out = new BufferedWriter(new FileWriter("C:\\estudos_java\\conteudo.txt")); out.write("Esta é a primeira linha de texto\r\n"); out.write("Esta é a segunda linha de texto"); out.close(); } catch(IOException e){ System.out.println("Houve um erro: " + e.getMessage()); } System.out.println("Acabei de escrever no arquivo"); } } Ao executar este código Java nós teremos o seguinte resultado: Acabei de escrever no arquivo. Tenha cuidado. Se o arquivo já existir, o método write() da classe BufferedWriter vai sobrescrever o seu conteúdo. Por isso, é sempre uma boa idéia fazer uma verificação antes. |
Java ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada em Java usando a função sqrt() da classe MathQuantidade de visualizações: 8028 vezes |
A raiz quadrada de um algarismo é dada por um número positivo n, que ao ser elevado ao quadrado (multiplicado por ele mesmo), se iguala a x. Na área da matemática, a raiz quadrada auxilia na resolução de vários problemas, entre eles as equações de segundo grau e o Teorema de Pitágoras. Relembrando que a raiz quadrada é o inverso da potenciação com expoente dois, temos que: \[\sqrt{9} = 3\] então, pela potenciação: \[3^2 = 9\] Agora veremos como calcular a raiz quadrada usando a função sqrt() da classe Math da linguagem Java. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ Scanner entrada = new Scanner(System.in); // vamos ler o valor System.out.print("Informe o valor desejado: "); double valor = Double.parseDouble(entrada.nextLine()); // vamos calcular a raiz quadrada double raiz = Math.sqrt(valor); // e agora mostramos o resultado System.out.println("A raiz quadrada do valor informado é: " + raiz); } } Ao executar este código teremos o seguinte resultado: Informe o valor desejado: 9 A raiz quadrada do valor informado é: 3.0 É importante observar que, se fornecermos um valor negativo para a função sqrt(), o resultado será NaN (Not a Number, não é um número). Veja: Informe o valor desejado: -9 A raiz quadrada do valor informado é: NaN |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software 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 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 |