Zapis zmiennej String do pliku.

Odpowiedz Nowy wątek
2019-02-07 17:43
0

Cześć,

Zacznę może od przykładu - chciałbym zapisać nazwę zmiennej i jej wartość do pliku, aby później móc po nią sięgnąć metodą w stylu getString(””).
Tworze String wiadomosc1 = „Tak albo nie”;
I teraz zapisuje ją do pliku który przechowuje nazwę zmiennej i jej wartość. No i tutaj kłopot jak to zrobić żeby to odpowiednio zapisać a później abym mógł po nazwie zmiennej odczytać wartość.
Utworzenie pliku, zapis do pliku i odczyt wybranej lini potrafię napisać.

Pozostało 580 znaków

2019-02-08 10:58
1

W takich przypadkach najlepiej użyć mapy.
https://javastart.pl/baza-wie[...]gorytmy/struktury-danych-mapa
https://docs.oracle.com/javas[...]cs/api/java/util/HashMap.html

edytowany 1x, ostatnio: Potat0x, 2019-02-08 10:59

Pozostało 580 znaków

2019-02-11 20:51
0

Ale jeżeli chcę przechować dane na dłużej, to muszę je zapisać do pliku tak?

Pozostało 580 znaków

2019-02-11 21:05
1

To zależy co masz na myśli mówiąc "na dłużej" :P A taką mapę można zapisać do pliku za jednym zamachem nie rozdrabniając się na rekordy https://docs.oracle.com/javas[...]va/io/ObjectOutputStream.html

Pozostało 580 znaków

2019-02-11 21:12
1
Radosław Artur Smoliński napisał(a):

Ale jeżeli chcę przechować dane na dłużej, to muszę je zapisać do pliku tak?

Jeśli potrzebujesz asocjacji klucz -> wartość lub klucz -> lista wartości, to możesz zastanowić się nad przechowywaniem ich w mapie i jeśli chcesz potem taką mapę wczytać z dysku bądź zapisać na dysk, to możesz zastanowić się czy najłatwiejszym rozwiązaniem nie jest seralizacja i deserializacja do JSONa: https://www.baeldung.com/jackson-map. Żeby zapisać Stringi na dysku w pliku możesz użyć np. nio.Files (https://docs.oracle.com/javas[...]/api/java/nio/file/Files.html - java.nio.file.Files.write(Paths.get(...), "Ala ma kota!".getBytes("utf-8"), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) :-)

edytowany 1x, ostatnio: Brickcloak, 2019-02-11 21:13

Pozostało 580 znaków

2019-02-12 12:42
cs
1

Możesz też zapisać w jakimś bardziej ludzkim formacie np. YAML'u, który służy do odczytywania i zapisywania plików konfiguracyjnych:

Yaml yaml = new Yaml();
    try(InputStream in = Files.newInputStream("plik.yaml") {
      Configuration config = yaml.loadAs(in, Configuration.class);
      System.out.println(config.getZmienna());
    } catch (IOException e) {
      e.printStackTrace();
    }

Musisz do tego dorobić klasę z geterami i seterami:

public final class Configuration {
  private String zmienna;

  public String getZmienna() {
    return version;
  }

  public void setZmienna(String zmienna) {
    this.zmienna = zmienna;
  }
}

Twój plik to:

zmienna: "wartość Twojej zmiennej"

Biblioteka, która to robi to snakeyaml, więc dodajesz zależność:

<dependency>
    <groupId>org.yaml</groupId>
    <artifactId>snakeyaml</artifactId>
    <version>1.23</version>            
</dependency>

Pozostało 580 znaków

2019-02-13 08:34
0

Dzięki wszystkim za pomoc :) Pewne porady nie na mój poziom, ale kiedyś do tego dojdę hehe. Chyba opcja z yaml jest mi najbardziej znana z zabawy w mc :D

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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