Ir para conteúdo
Fórum Script Brasil
  • 0

Abertura De Ficheiro


tuga

Pergunta

oi ando a testar um codigo de abertura de ficheiros mas não o estou a perceber lá muito bem. Se me pudessem explicar as linhas que tem os pontos de interrogação agredecia muito!!

import java.io.*; 

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

System.out.println("esta função vai abrir um ficheiro ");


try{

   FileReader f = new FileReader("c:\\arq.txt");     //vai ler o ficheiro na localização especificada
   BufferedReader in =new BufferedReader(f);         // ??????????????????
   String linha =in.readLine();                     // ????????????????
        while(linha !=null ){                       // enquanto não chegar ao fim
       System.out.println(linha);                   // imprime na tela a string lida
       linha =in.readLine();                        // ????????????????
    } in.close();                                   // fecha o ficheiro
}
    catch(IOException e){
    System.out.println("Erro ao carregar o ficheiro");      // esta parte acho que é para o casso de ocorrer algum erro ao abrir o ficheiro 
    }

} 
}

postem aí qlq coisa

Obrigado

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Olá, aqui vai alguma ajuda:

BufferedReader in =new BufferedReader(f);

Esta é uma classe que ajuda na leitura, para que você não tenha que ler caracter por caracter.

Ela mantem um buffer, guardando blocos de itens lidos, na proxima linha você vai entender pra que.

linha =in.readLine();

Aqui, você manda o BufferedReader ler uma linha inteira do arquivo (ou seja, até um caracter \n) e atribui a linha.

Espero ter ajudado,

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Vlw mesmo...

mas pelo o que eu compreendi a BufferedReader só serve pa strings....eu estava procurando uma função que leia blocos de numeros tipo int a partir do ficheiro como por exemplo:

01011110 11111100 00001010 10001111

em que cada bloco de 8 digitos fica armazenado num vector d inteiros .....

digão qlq coisa

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

já que da maneira acima descrita talvez seja um bocado complicado ou mesmo impossivel, uma solução igualmente possivel era ler digito a digito até chegar ao fim, tipoo ficheiro traz o seguinte codigo

10101111 10000001 11001101 11011101

e como tenho de passar estes bolocos binarios para decimal talvez fosse melhor fazer a leitura bit a bit e fazer logo a coversão com uma variavel auxiliar,mas o problema é que ainda não encontrei nenhuma função a fazer essa tarefa....

deêm uma ajuda...

postem aí algo

obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

É Java 5? Use a classe Scanner.

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

public class Teste {

        public static void main(String[] args) {
                try {
                        Scanner sc = new Scanner(new File("entrada"));
                        while(sc.hasNextInt()) {
                                System.out.println(sc.nextInt());
                        }
                } catch(Exception e) {
                        e.printStackTrace();
                }
        }
}
E você também pode usar a função Scanner.useRadix() pra fazer a conversão diretamente:
import java.util.*;
import java.io.*;

public class Teste {

        public static void main(String[] args) {
                try {
                        Scanner sc = new Scanner(new File("entrada"));
                        sc.useRadix(2);
                        while(sc.hasNextInt()) {
                                System.out.println(sc.nextInt());
                        }
                } catch(Exception e) {
                        e.printStackTrace();
                }
        }
}

Mas assim fica muito fácil. =)

Link para o comentário
Compartilhar em outros sites

  • 0

É mesmo, assim fica muito facil...... o programa lê o binario e converte automaticamente só que os valores não ficam armazenados em variaveis, pois no programa que eu queria fazer era sendo o primeiro numero e o ultimo codigos que tem de ser validados e que tem de ser iguais a 85 tanto o primeiro como o ultimo, assim o importante são o 2º e 3º numero pois são esses que variam......tentei fazer um if else pa validar o codigo no meio do while pensando que o nextint fosse uma variavel mas não dá....desta maneira qual será a forma mais facil e simples de armazenar os valores em variaveis e ao mesmo tempo validar os codigos????

ahhh e é java 5 é...

postem aí qlq coisa

obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...