Avançada leitura de varios txt intercalados

5 respostas
LG11

gente… o que vou falar eh complicado… tenhu 3 tipos de listas…
cada lista eh um txt. em cada linha tem um nome…

preciso saber se há algum exemplo de algum programa que eu possa analizar o codigo.

preciso fazer um programa que intercale as 3 txt.
a 1 txt eh neutra… ha uma seleção…
apos selecionar… depedendo do nome selecionado… o programa gera informações das outras 2 txt… certos nomes relacionados com cada um dos txt… assim como da 2 pra 3 txt.

Compliquei neh!?
Qualquer coisa que possa vir como exemplo. será excelente.
com exemplos vou poder fazer perguntas mais complexas.

Agradeço a ajuda.
É de muita importancia pra mim pra eu saber mecher com pequenos numeros de txt mas grandes aplicações. Não pretendo aplicar Banco de dados ainda, porque não é muito em conta… mas se vier ao caso… acho que seria muito bom aprender. se for o caso gostaria de saber um bom link pra iniciar em banco de dados com java.

+1x obrigado.

5 Respostas

Andre_Brito

Uma idéia que me veio agora é usar HashMapSSSSSSSSSS com txts.
Será que existe como?

LG11

dedejava:
Uma idéia que me veio agora é usar HashMapSSSSSSSSSS com txts.
Será que existe como?

acho que também farei a mesma pergunta hehehe…
“Será que existe como?”

eu dei uma lida na API. Não é bem a classe certa ppara isso.
To pensando seriamente em Banco de Dados.
Por onde eu posso começar com banco de dados? pega alguma coisa facil para eu poder treinar e assim garantir o que estou querendo fazer.

roberiomatos

kara, da pra fazer isso usando o Tokenizer, + vc vai ter de "quebrar" um poko a cabeça…
esse código, le 1 txt linha a linha, separando por coluna de acordo com um indicador:

public class lendoTxt {   
  
    // Main Method, a best solution may use classes   
    public static void main(String[] args) {   
        FileInputStream fis;   
        try {   
            fis = new FileInputStream("C:/teste.txt");   
            DataInputStream dis = new DataInputStream(fis);   
            while (dis.available() != 0) {   
                String line = dis.readLine(); // deprecated   
                process(line);   
            }   
        } catch (FileNotFoundException e) {   
            e.printStackTrace();   
        } catch (IOException e) {   
            e.printStackTrace();   
        }   
  
    }   
       
    // Process each line of the file, containing the tokens   
    private static void process(String line) {   
           
        String coluna1, coluna2, coluna3, coluna4, coluna5, coluna6;   
        coluna1 = coluna2 = coluna3 = coluna4 = coluna5 = coluna6 ="";   
           
        if(line.trim().startsWith("#")) // Ignore   
            return;   
               
        //System.out.println(line);
        
        StringTokenizer tokenizer = new StringTokenizer(line, "|");   
           
        if(tokenizer.countTokens() < 3) // We might always have three tokens, yeah?   
            return;   
           
        int cont = 0;   
           
        while(tokenizer.hasMoreTokens()) // While != EOL | EOF   
        {   
            cont ++;   
            String token = tokenizer.nextToken(); // the next token of line   
            switch(cont)   
            {   
                case 1: // first   
                    coluna1 = token;   
                    break;   
                case 2: // second   
                    coluna2 = token;   
                    break;   
                case 3:   
                    coluna3 = token;   
                    break;   
                case 4:   
                    coluna4 = token;   
                    break;
                case 5:   
                    coluna5 = token;   
                    break;   
                case 6:   
                    coluna6 = token;   
                    break;                    
                default:   
                    //throw new IllegalArgument ?   
                    break;   
            } // switch   
        } // while   
           
        System.out.print("Coluna 1: " + coluna1);   
        System.out.print( " " );   
        System.out.print("Coluna 2: " + coluna2);   
        System.out.print( " " );   
        System.out.print("Coluna 3: " + coluna3);   
        System.out.print( " " );   
        System.out.print("Coluna 4: " + coluna4);   
        System.out.print( " " );   
        System.out.print("Coluna 5: " + coluna5);  
        System.out.print( " " );   
        System.out.print("Coluna 6: " + coluna6);          
        System.out.println(); // \n   
         
    }   
}

ve se isso te ajuda…

LG11

há uma aplicação desktop menor que estou fazendo que irá me ser bem útil. vlw mesmo. Isso irá servir sim. dei uma lida na API StringTokenizer. 8)

Pelo que ando lendo aqui em 3 comunidades… o melhor a fazer seria um banco de dados…
vou lhe explicar o porque.

No meu aplicativo, minha principal base de dados é uma serie de nomes (pode-se chegar a mais de 150 nomes e olha .)

cada nome tem 3 a 15 valores equivalentes a ele (String)

e cada um desses valores tem de 1 a 5 valores a mais. (String)

Ou seja… como um sistema de leitura de arquivo poderia me ser util para uma aplicação deste tamanho!? :shock:

Acho que Banco de Dados seria a melhor solução.
-----edit-----
e vou ter q estudar bastante banco de dados, pois ainda sou cru nisso. ate eu passar dados de banco de dados para API visuais… :frowning:

Andre_Brito

LG,

Se vai usar banco de dados, antes dê uma lida aqui:

http://www.guj.com.br/posts/list/62777.java#329516

Abraço.

Criado 14 de janeiro de 2008
Ultima resposta 14 de jan. de 2008
Respostas 5
Participantes 3