Wczytywanie z pliku txt

Wczytywanie z pliku txt
  • Rejestracja: dni
  • Ostatnio: dni
0

Cześć,

Moim celem jest wczytanie danych z pliku, który ma postać:

[DATE] 2011-08-14
[MANUFAC] NazwaFirmy
[CATNUMBER] 1235485

Chciałbym wczytać do TextField odpowiednie dane: Datę, Producenta itd. Wczytałem tekst z pliku do String tekst i teraz chciałem wyselekcjonować odpowiednie dane z tego tekstu za pomocą tekst.substring. Mam indeks początkowy, ale nie mam końcowego - będzie on różny w różnych plikach zależny od długości nazwy producenta. Poniżej zamieszczam fragment kodu, który mam aktualnie, proszę o podpowiedź jak wyselekcjonować konkretne dane z tekstu.

Kopiuj
				if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
					{
						File plik = fc.getSelectedFile();
						try
							{
								Scanner skaner = new Scanner(plik);

								while (skaner.hasNext())
								tekst = tekst + skaner.nextLine() + "\n";

								int z = tekst.indexOf("[MANUFAC]");
								z = z+9;
								tProducent.setText(tekst.substring(z));
							} 
R1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 208
1

Ja bym czytał linia po linii i ciął

Kopiuj
String line = skaner.nextLine();
String[] data = line.split(" ");

i poszczególne elementy tablicy dalej przetwarzać w miarę potrzeb

Gjorni
  • Rejestracja: dni
  • Ostatnio: dni
0

Do rozwiązania kolegi dodałbym może jeszcze obiekt typu HashMap przechowujący dane z pliku, dla lepszej czytelności kodu.

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzięki, poszczególne linie umieściłem w elementach tablicy, a wybór odpowiedniego wiersza zrealizowałem poprzez startsWith.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.