Wczytanie liczby z pliku tekstowego

0

Cześć mam plik xyz.yml a w pliku

x: 10
y: 5
z: 2

chciałbym wczytać te wartości teraz do zmiennych int x,y,z tylko nie mam pojęcia jak to zrobić. Mógłby ktoś pomóc?

1

Java nie ma w standardzie parsera yaml (albo o nim nie wiem). Możesz to zrobić np. za pomocą jacksona, jakimś:

ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
MyClass x = mapper.readValue(new File("xyz.yml"), MyClass.class);

Gdzie MyClass to klasa która opisuje strukturę tego jamla, np.

class MyClass {
    @JsonProperty
    private Integer x;
    @JsonProperty
    private Integer y;
    @JsonProperty
    private Integer z;
}

edit: potrzeba do tego

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.13.1</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.dataformat</groupId>
    <artifactId>jackson-dataformat-yaml</artifactId>
    <version>2.13.1</version>
</dependency>
0

Doczytaj o java.util.Scanner i Pattern.

1

Kurna wymyślacie jakieś java util Scanner a libka jest od tego: https://www.baeldung.com/java-snake-yaml

0

Nie lepiej plik wrzucić w resources i wczytać properties jako resource?

1
import java.util.*;
import java.io.*;
import java.util.stream.*;
import java.nio.file.Paths;
import java.nio.file.Path;
import java.nio.file.Files;

class YmlTest {

  public static void main(String[] args) throws IOException {
   Path path = Paths.get("xyz.yml");
   String contents = Files.lines(path).collect(Collectors.joining("\n"));
   System.out.println("Input:");
   System.out.println(contents);

   contents = contents.replace(':','=');
   final Properties props = new Properties();
   props.load(new StringReader(contents));

   int x = Integer.valueOf(props.getProperty("x"));
   int y = Integer.valueOf(props.getProperty("y"));
   int z = Integer.valueOf(props.getProperty("z"));
   
   System.out.println("Parsed:");
   System.out.printf("x: %d, y: %d, z: %d%n", x, y, z);
  }
}  

Uruchomienie:

piotr@piotr-Prec-M47:~/progs/test/java/yml_file$ java YmlTest.java
Input:
x: 10
y: 5
z: 2
Parsed:
x: 10, y: 5, z: 2

1 użytkowników online, w tym zalogowanych: 0, gości: 1