Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[Problem] Odczytywanie Pliku


Rekomendowane odpowiedzi

Opublikowano

Witam

 

Czy jest możliwość odczytywania pliku do tablicy? nie ogarniam dobrze javy, i czy jest możliwość "ignorowania" tekstu przed ' : '

chciałbym zrobić plik config do gry, i żeby było np. " height: 1024 ", ale żeby w tablicy zignorowało ' height: '

Opublikowano

Można użyć metody string.split(": ");, której rezultatem będzie tabela ze stringami rozdzielonymi przez ": "

1377774857-U369478.png

Opublikowano

Odpowiem Ci dość wyczerpująco:

Najpierw tworzysz obiekty klasy BuffederReader do obiektu klasy FileReader do obiektu klasy File. Jak to wygląda?:

BufferedReader br = new BufferedReader(new FileReader(new File("nazwa.txt")));

Potem tworzysz ArrayListe pod obiekty klasy String.

ArrayList<String> cosie = new ArrayList<String>();
A następnie zmienną referencyjną (pustą) klasy String w której będziesz przechowywał swoją linijkę tekstu:
String s;
Teraz powtarzasz odczytywanie danych z pliku za pomocą bufora, aż te dane nie będą równe null. Odrazu dodajemy obiekt String z bufora do zmiennej s.
while ((s = br.readLine()) != null) {
Potem wykonujesz na obiekcie s metodę 'split' która rozdziela ten obiekt na tablicę (nie tabele jak pan wyżej napisał... xD) czyli:
s = s.split(":")[1];
'[1]' bo chcemy to co po dwukropku a nie to co przed (zapewne wiesz, ale jeśli nie to miejsca w tablicy liczy się od 0). Potem dodajemy to do ArrayListy:
cosie.add(s);
i zamykamy BufferedReader:
br.close();
Pełen kod:
BufferedReader br = new BufferedReader(new FileReader(new File("nazwa.txt")));
ArrayList<String> cosie = new ArrayList<String>();
String s;
   while ((s = br.readLine()) != null) {
   s = s.split(":")[1];
   cosie.add(s);
}
br.close();

I w ArrayList mamy wszystko to co po dwukropku. Mam nadzieje że pomogłem.

708121422388637873334.png

Opublikowano

 

Odpowiem Ci dość wyczerpująco:

Najpierw tworzysz obiekty klasy BuffederReader do obiektu klasy FileReader do obiektu klasy File. Jak to wygląda?:

BufferedReader br = new BufferedReader(new FileReader(new File("nazwa.txt")));

Potem tworzysz ArrayListe pod obiekty klasy String.

ArrayList<String> cosie = new ArrayList<String>();
A następnie zmienną referencyjną (pustą) klasy String w której będziesz przechowywał swoją linijkę tekstu:
String s;
Teraz powtarzasz odczytywanie danych z pliku za pomocą bufora, aż te dane nie będą równe null. Odrazu dodajemy obiekt String z bufora do zmiennej s.
while ((s = br.readLine()) != null) {
Potem wykonujesz na obiekcie s metodę 'split' która rozdziela ten obiekt na tablicę (nie tabele jak pan wyżej napisał... xD) czyli:
s = s.split(":")[1];
'[1]' bo chcemy to co po dwukropku a nie to co przed (zapewne wiesz, ale jeśli nie to miejsca w tablicy liczy się od 0). Potem dodajemy to do ArrayListy:
cosie.add(s);
i zamykamy BufferedReader:
br.close();
Pełen kod:
BufferedReader br = new BufferedReader(new FileReader(new File("nazwa.txt")));
ArrayList<String> cosie = new ArrayList<String>();
String s;
   while ((s = br.readLine()) != null) {
   s = s.split(":")[1];
   cosie.add(s);
}
br.close();

I w ArrayList mamy wszystko to co po dwukropku. Mam nadzieje że pomogłem.

<3 Jeszcze takie małe ode mnie

Czytając plik dla bezpieczeństwa dajemy go w try -> finally

 

 

        BufferedReader br = new BufferedReader(new FileReader("file.txt"));
        try {
            String line;
            while ((line = br.readLine()) != null) {
                //read
            }
        } catch (IOException e) {
            e.printStackTrace(); 
        } finally {
            try {
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
  • 1 miesiąc temu...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...