3
respostas

Como ler arquivo *.dat

Oi Iasmim,

Boa tarde. Eu preciso criar uma classe que leia arquivo .dat como o abaixo:

       5.285714285919          -1.000000000000
       5.285714285919          -1.056582306522
       5.285714285918          -1.115993728371
       5.285714285917          -1.178375721312
       5.285714285917          -1.243876813899
       5.285714285916          -1.312652961117
       5.285714285915          -1.384867915695
       5.285714285914          -1.460693618002
       5.285714285914          -1.540310605424
       5.285714285913          -1.623908442218
       5.285714285912          -1.711686170851

Você pode me dar uma dica de como fazê-lo? Estou avançando bem no código que estou implementando. Obrigado pela ajuda! Vou esperar o seu retorno, Edisson Sávio.

3 respostas

Recomendo usar a classe Files do Java e o método "readAllLines" tbm, que deixa muito simples. Mais infos: https://www.callicoder.com/java-read-file/ Também, vc pode procurar por "java string split" pra dividir entre o que é info da "esquerda" (positivo) e o que é da "direita" (negativo). vc tbm pode procurar pelo método "trim()" da classe String pra retirar os espaços dos seus dados, caso precise.

Boa noite Gabriel, você pode dar um exemplo do uso do Files e do readAllFiles? Facilita se eu ver um exemplo. Obrigado, Edisson Sávio.

nesse link que eu te mandei tem o exemplo. e é "readAllLines", escrevi errado:

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

public class FilesReadAllLinesExample {
    public static void main(String[] args) {
        Path filePath = Paths.get("demo.txt");
        Charset charset = StandardCharsets.UTF_8;
        try {
            List<String> lines = Files.readAllLines(filePath, charset);
            for(String line: lines) {
                System.out.println(line);
            }
        } catch (IOException ex) {
            System.out.format("I/O error: %s%n", ex);
        }
    }
}