Abrindo arquivos txt, pegando dados e pondo em variaveis

09/04/2009

0

Antes de tudo, procurei aqui no forum sobre informacoes para essa minha duvida e nao encontrei algo que me ajudasse muito... intao criei esse topico... Vamos lah, abrir arquivo TXT e imprimir o conteudo na tela é uma coisa muito simples de se fazer com java e tudo mais, mas eu estou com o seguinte problema. Dentro de um Diretorio, eu preciso abrir um arquivo TXT que contem as seguintes informacoes: NUMERO;MATRICULA;MATERIA;PROVA;NOTA ou seja, existem dados que sao separados por ponto e virgula, gosteria de armazenar cada um desses dados em uma variavel diferente, para facilitar a manipulacao dos dados Obs: 1-) O Tamanho dos campos podem variar, intao eu imaginei fazer uma rotina que verificasse quando o ponto e virgula (;) aparece (ou seja, ele é o delimitador de informação) 2-) As variaveis que recebem a informação sao Strings. Help? Obrigado a todos antes de tudo.
Diego Ramos

Diego Ramos

Responder

Posts

09/04/2009

Jéferson Flores

Use, talvez, um Reader para ler o arquivo. EM seguida, para cada linha do arquivo, faça o seguinte:
String[] linhaDoArquivo = reader.readLine().split(";");
String numero = linhaDoArquivo[0];
String matricula = linhaDoArquivo[1];
String materia = linhaDoArquivo[2];
String prova = linhaDoArquivo[3];
String nota = linhaDoArquivo[4];
Responder

09/04/2009

Diego Ramos

Usei o Tokenizer, abaixo minha contribuicao com meu codigo, caso alguem mais precise
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.StringTokenizer;

public class Teste1 {

   public void arquivo() {
      String linha = null;

      try {
         FileReader reader = new FileReader("Z:/orderOn_2.txt"); // Localização do Arquivo
         BufferedReader leitor = new BufferedReader(reader);
         StringTokenizer st = null;
         
         String numero;			// Armazena campo de numero
         String matricula;		// Armazena campo de matricula
         String materia;		// Armazena campo de materia
         String prova;			// Armazena campo de prova
         String nota;			// Armazena campo de nota

         while ((linha = leitor.readLine()) != null) {
                                          
            
            // UTILIZA DELIMITADOR ; PARA DIVIDIR OS CAMPOS
        	st = new StringTokenizer(linha, ";");
            String dados = null;

            while (st.hasMoreTokens()) {

               // Campo NUMERO
               dados = st.nextToken();
               numero = dados;
               
               // Campo MATRICULA
               dados = st.nextToken();
               matricula = dados;
               
               // Campo MATERIA
               dados = st.nextToken();
               materia = dados;
               
               // Campo PROVA
               dados = st.nextToken();
               prova = dados;
               
               // Campo Nota
               dados = st.nextToken();
               nota = dados;
               
               System.out.println("Numero do telefone " + numero);
               System.out.println("Numero da matricula " + matricula);
               System.out.println("Tag da materia " + materia);
               System.out.println("Prova " + prova);
               System.out.println("Nota " + nota);
            }
         }
         leitor.close();
         reader.close();

      } catch (Exception e) {
         e.printStackTrace();
      }
   }

   public static void main(String[] args) {
      Teste1 t = new Teste1();
      t.arquivo();
   }
}
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar