Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Caíque Fortunato

Leitura de arquivos .txt

Posts recomendados

Sou novo em Java e estou desenvolvendo um projeto para a faculdade onde a entrada é fornecida através de um documento .txt . O problema é que só sei fazer isso em C/C++ e os tutoriais que achei na internet não funcionaram tão bem.. Como eu posso fazer?

 

O arquivo será assim:

1;Brasil

2;Estados Unidos

 

Eu já até fiz a lista onde os itens serão armazenados (Fiz uma classe País com id e nome) que está funcionando com o Scanner.. O meu problema mesmo é a manipulação do arquivo..

 

Tentei fazer o seguinte:

package olimpiadas;

import java.util.Scanner;
import java.io.FileReader;

public class Leitura {
    
    public static void main(String[] args) {
    
        try{
            Scanner scanner = new Scanner(new FileReader("pais.txt")).useDelimiter("\\||\\n");
            while (scanner.hasNext()) {
                String id = scanner.next();
                String nome = scanner.next();
                System.out.println(id);
                System.out.println(nome);
            }

        }
        catch(Exception ioException){
            System.out.println("O arquivo nao pode ser aberto!");
        }
    
    }
    
}

Mas:

1) O arquivo nunca abre, mesmo estando no mesmo pacote ele exibe que o arquivo não pode ser aberto

2) O id tem que ser int, mas só consigo com String 

 

Como resolver? :/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, consegui dessa maneira, talvez ajude outras pessoas:

 

package Leitura;

import Classes.Pais;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;

public class LeituraPais {

    public static void main(String[] args) {
        
        ArrayList <Pais> itens = new ArrayList<>();

        File file = new File("C:/pais.txt");
        
        try (FileInputStream stream = new FileInputStream(file)) {

            InputStreamReader reader = new InputStreamReader(stream);
            BufferedReader br = new BufferedReader(reader);
            String linha = br.readLine();
            while(linha != null) {
               String id = linha.substring(0, linha.indexOf(';'));
               String nome = linha.substring(linha.lastIndexOf(';') + 1, linha.length());
               
               int id_cod = Integer.parseInt(id);
               Pais p = new Pais(id_cod, nome);
               itens.add(p);
               
               linha = br.readLine();
            }

        } catch (IOException e) { 
        
        }
        
       System.out.println("\n");
       System.out.println("Lista final: ");
       for(int i = 0; i < itens.size(); i++)
       {
           System.out.println("Id: " + itens.get(i).getId());
           System.out.println("Nome: " + itens.get(i).getNome());
           System.out.print("\n");
       }
	
    }
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Este tópico está parado há muito tempo. Certifique-se que a sua mensagem tem a ver com o tema sendo discutido. Obrigado.

Junte-se à conversa

Você pode postar agora e cadastrar-se depois. Se você tem uma conta, faça o login para postar.

Visitante
Responder

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

  Só é possível ter até 75 emoticons.

×   O link foi automaticamente convertido para mostrar o conteúdo.   Clique aqui para mostrá-lo como link comum

×   Seu texto anterior foi restaurado.   Limpar o editor

×   You cannot paste images directly. Upload or insert images from URL.

Entre para seguir isso  





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!