Abrindo arquivos txt, pegando dados e pondo em variaveis
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
Curtidas 0
Respostas
Jéferson Flores
09/04/2009
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];
GOSTEI 0
Diego Ramos
09/04/2009
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();
}
}GOSTEI 0