Colocar linha especifica de TxT em String

Tem como pegar linha de .txt e colocar ela em uma String?

Exemplo:

Dados.txt

nome: Roberto
idade: 26
ID: 00x15

Pegar a primeira linha e colocar na String nome e a segunda linha colocar no int idade?

Código:

String aux = "src/principal/Dados.txt";
try {
    FileReader fileReader = new FileReader(aux);
    BufferedReader reader = new BufferedReader(fileReader);
    String data = null;
    while ((data = reader.readLine()) != null) {
        //
    }
    fileReader.close();
    reader.close();
} catch (FileNotFoundException ex) {
    System.out.println("Erro: " + ex.getMessage());
} catch (IOException ex) {
    System.out.println("Erro: " + ex.getMessage());
}

Sem tem código para leitura de um txt?
Tem sim como pegar qualquer coisa de um texto!

Agora coloquei o código! :slight_smile:

Linha a ser executada:

String nome = data.split(":")[1].trim();

Código completo:

String aux = "src/principal/Dados.txt";
BufferedReader reader = null;
try (FileReader fileReader = new FileReader(aux)) {
     reader = new BufferedReader(fileReader);
     String data = null;
      while ((data = reader.readLine()) != null) {
           String nome =  data.split(":")[1].trim();
           System.out.println(nome);
     }
} catch (FileNotFoundException ex) {
        System.out.println("Erro: " + ex.getMessage());
} catch (IOException ex) {
        System.out.println("Erro: " + ex.getMessage());
}
reader.close();

Esse é um código exemplo, teste, aprenda com ele e seja feliz!

1 curtida

Eu queria entender porque você colocou essa linha antes do try:
BufferedReader reader = null;
E essa depois do try:
reader.close();

Não é necessário que seja feito assim, eu fiz assim, porque a IDE colocou isso pra mim! Pode ser da sua maneira, só foque no que você precisa

Uooou, ficou muito legal, mas você poderia me explicar o cada parte da linha faz? Eu já tinha tentado usar o split e o trim separadamente e sem nenhum resultado

Uma dúvida, todas as informações foram para mesma String? Porque eu tava pensando em colocar cada linha em uma String.

a variavel data é uma linha a cada interação,
split(":") separa a String em um array de String
Pego então a posição 1 do indice criado e dou um trim() para tirar o espaço.

Você pode fazer cada item em uma variavel, isso ai é com você!