• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zapis danych z pliku do bazy danych - problem z czytaniem \n

VPS Starter Arubacloud
0 głosów
140 wizyt
pytanie zadane 8 września 2018 w Java przez NyguseK Użytkownik (650 p.)

Witam. Potrzebuję załadować z pliku txt do bazy danych pytania dotyczące quizu. Problem w tym, że niektóre treści pytań ( jak np to, które jest poniżej) potrzebują by tę pierwszą linię wyświetlić w kilku liniach.

Przykładowe pytanie:
 

1. Jaką wartość będzie zawierać ‘a’ po wykonaniu poniższego kodu: \n int a = 0; \n for(int i = 0; i < 5; i++) { \n if (i % 2 == 0) continue;  \n a++;  \n} \n
a) 3 
b) 0 
c) 2 
d) 1
c) 2 

 

Funkcja odpowiadająca za wczytywanie i zapisywanie pytań:

    public void readingFile() throws IOException, SQLException {
        FileReader file = new FileReader("C:\\Users\\danie\\Desktop\\javaa.txt");
        Scanner reader = new Scanner(file);
        connecting();


        while (reader.hasNext()) {
            System.out.println("reder: " + reader.hasNext() );
            this.tresc = reader.nextLine();
            odpA = reader.nextLine();
            odpB = reader.nextLine();
            odpC = reader.nextLine();
            odpD = reader.nextLine();
            prawidlowa = reader.nextLine();
            insert = "insert into java(id, tresc, odpA, odpB, odpC, odpD, prawidlowa) values(" + id++ + ", '" + tresc + "', '" + odpA + "', '" + odpB + "', '" + odpC + "', '" + odpD
                    + "', '" + prawidlowa +  "' )";
            statement.execute(insert);

        }
        file.close();
        System.out.println(tresc + odpA + odpB + odpC + odpD + prawidlowa);
    }
}

Proszę bardzo o pomoc z tym. Bez uporania się z tym nie mogę ruszyć dalej.

Pozdrawiam.

1 odpowiedź

0 głosów
odpowiedź 8 września 2018 przez KubenQPL Maniak (62,820 p.)
Nie lepiej żeby wczytywać do i z bazy bez tych "\n" a już w samym widoku obsłużyć wieloliniowość? Przecież ekrany mogą mięć różny rozmiar, różna ilość znaków może się zmieścić w lini.

A odpowiadając, to nie za bardzo rozumiem o co ci chodzi, jak chcesz znajdywać w stringu znak nowej linii to spróbuj porównywać po "\n" lub jeśli nie działa to po System.getProperty("line.separator")
komentarz 8 września 2018 przez NyguseK Użytkownik (650 p.)
Przepraszam bardzo, rzeczywiście nie opisałem dokładnie problemu. Chodzi o to, że wczytując z pliku nie traktuje \n jako znaku nowej linii, tylko po prostu wypisuje \n.
A chciałbym, żeby kod z treści załączonego pytania był odpowiednio wypisany, czyli w odpowiednich miejscach przechodził do nowej linii.

 

Wydaje mi się, że nie będzie się dało wczytywać i zapisywać bez znaku \n i dopiero później to obsługiwać. Bo \n będzie w randomowych miejscach.
komentarz 8 września 2018 przez JAKUBW Nałogowiec (33,470 p.)
edycja 9 września 2018 przez JAKUBW
tresc = reader.nextLine().replaceAll("\\n","\n");

 

komentarz 8 września 2018 przez NyguseK Użytkownik (650 p.)
Działa!
Dziękuję bardzo za pomoc :)

Podobne pytania

0 głosów
2 odpowiedzi 234 wizyt
pytanie zadane 5 lipca 2018 w Java przez must Bywalec (2,980 p.)
0 głosów
0 odpowiedzi 84 wizyt
pytanie zadane 20 lutego 2016 w Java przez Sinnko Nowicjusz (140 p.)
0 głosów
1 odpowiedź 124 wizyt
pytanie zadane 13 sierpnia 2020 w Java przez Kazek Początkujący (460 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...