Wczytywanie z pliku

0

Witam

Mam taki projekt muszę zczytać z pliku txt nazwy które wyglądają tak w pliku txt:

strona1
nazwa2
nazwa3##www.adres.pl
news5
......

muszę dokonać zczytania tego pliku i zapisać do klasy

class Strony
{
     private String name;
     private String link;
      ...//getter setter 
}

i mam wykonać zapis do List<Strony> to co znajduje się w txt:
jeśli wystąpi w linijce znak ## to mam to zapisać do linku
a jeśli nie to mam zapisać tylko do String text

z czego mogę skorzystać /?

0

Ogólnie, obsługa plików w Javie jest (jak dla mnie) nadmiernie rozbudowana. Niesie to ogromne korzyści, ale przy prostych projektach jest jak Porsche na polskiej autostradzie..

Aby móc wczytywać całe wiersze z pliku należy skorzystać z klasy BufferedReader, który udostępnia nam metodę readLine. Przy tworzeniu obiektu należy dodać do niej klasę InputStreamReader:

try
{
plik=new BufferedReader(new InputStreamReader(new FileInputStream(sciezka_pliku)));
while((napis=plik.readLine())!=null)
{
lista.DodajWiersz(napis);
}
}
catch(IOException wyjatek)
{
wyjatek.printStackTrace();
}

nie wiemy ile jest linii w pliku więc aż prosi się użycie ArrayList ->lista.DodajWiersz() - sam se musisz stworzyć.

0

No i jeszcze z segregacją: można to zrobić na chłopski rozum. Algorytm będzie mało wydajny ale powinno działać:

zakładamy, że ustawieniem domyślnym jest: ładuj do stringa:) a linka znajdujesz na podstawie obecności w ciągu '##'. Najprostszy sposób to porównywanie kolejnych elementów ciągu wczytanych z pliku z '#' jak znajdzie to resztę traktuję jako link. Jeśli nie znajdzie, to jako string.

0

Witam tak też zrobiłem

użyłem
String[] splitter = linijka.split("##");

Dzięki

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