Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.10.12
Prihlásený: 28.10.12
Príspevky: 4
Témy: 1
Príspevok NapísalOffline : 15.10.2012 9:14

Ahojte, vedel by mi prosim niekto poradit v com robim chybu? Potrebujem nacitany string z .txt suboru rozdelit na pole stringov (rozumej vety oddelene bodkou) a stale mi to vyhadzuje chybu.

Kód:
    public static String[] citajZoSuboru(String menoSuboru) throws IOException {
        FileReader r = new FileReader(menoSuboru);
        BufferedReader br = new BufferedReader(r);

        //nacitam si prvy znak v stringu, ktory musi udavat pocet viet, podla toho si potom
        //alokujeme pole stringov, kedze ide o znak zmenime ho na ciselnu hodnotu
        char v;
        int pocetViet = 0;
        String riadok = "";
             
        // ked sa riadok == null tak sme narazili na koniec suboru
        while ((riadok = br.readLine()) != null) {
            v = riadok.charAt(0);
            pocetViet = Character.getNumericValue(v);
            System.out.println(pocetViet); //toto je tu len pre kontrolu
                }

        br.close();
           
        r = new FileReader(menoSuboru);
        br = new BufferedReader(r);

        // alokujeme pole velkosti poctu viet v subore
        String[] vysledok = new String[pocetViet];
        riadok = "";
        int z;
       
        // nacitame riadky
        while (riadok != null) {
            riadok = br.readLine();
            if (riadok != null){
                for (z = 0; z < vysledok.length; z++)
                vysledok[z] = riadok.split(".");
            }
        }
       
        br.close();

        return vysledok;
    }


Chybu vyhadzuje v tomto riadku vysledok[z] = riadok.split("."); ze nemozem miesat String[] so Stringom. Ale ako to mam inak urobit, poradte?

D.


Offline

Čestný člen
Čestný člen
Rozdelenie stringu do pola stringov v Jave

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 16.10.2012 8:58

vysledok je typu String[], preto vysledok[z] je String (prvok pola).
riadok je String, zavolanim split() dostavas String[].
Uz chapes, preco nemozes jedno do druheho priradit?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.10.12
Prihlásený: 28.10.12
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 16.10.2012 20:53

dakujem za vysvetlenie, pochopila som, no ked som to opravila vyhodilo mi zase inu chybu.
riadok 116 je opat "vysledok = riadok.split(delimiter);"

Exception in thread "main" java.lang.NullPointerException
at input1.citajZoSuboru(input1.java:116)
at input1.main(input1.java:47)
Citam zo suboru: c:/vstup.txt
4
4.Ahoj Java. Dnes je utorok. Stale mi to nefunguje.
null

Kód:
...   
    r = new FileReader(menoSuboru);
    br = new BufferedReader(r);

        // alokujeme pole velkosti poctu viet v subore
        String vysledok[] = new String[pocetViet];
        riadok = "";
        String delimiter = ".";       
        // nacitame vety
          while (riadok != null) {
            riadok = br.readLine();
            System.out.println(riadok);
            vysledok = riadok.split(delimiter);
            }
           
        // zavrieme subor
        br.close();

        // vratime dane pole
        return vysledok;
    }



Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 17.10.2012 14:42

nakodil som to po svojom uplne. opravovat ten tvoj kod sa mi nechcelo. uprav si to podla svojich potrieb. čau ;)

inak ten nullpointerexception. hádže ti ho asi preto že prvý krát zbehne cyklus, načíta, splitne (nie som istý), druhý krát načíta ale nemá čo, tak načíta riadok = null, a null sa snaží splitnúť čo vyhodí chybu, lebo "nič" nemôžeš rozdeliť všakže. tolko moja úvaha. :)

Kód:
//TUKE FEI RULEZ :)
public class NacitanieZoSuboru {

public static String[] citajZoSuboru(String menoSuboru) throws IOException
{
    FileReader r = new FileReader(menoSuboru);
    BufferedReader br = new BufferedReader(r);
    String line;
    StringBuffer result = new StringBuffer();
    while ((line = br.readLine()) != null) {
        result.append(line);
    }
   
    String [] vysledok;
    String pom = result.toString();
    //System.out.println(pom);
    vysledok = pom.split("\\.");
   
    br.close();
    return vysledok;
}
   
    public static void main(String[] args) {
        String [] pole;
       
        try {
            pole = citajZoSuboru("pokus.txt");
            for(int i = 0; i < pole.length; i++)
                System.out.println(pole[i].trim());
        } catch (IOException ex) {
            Logger.getLogger(NacitanieZoSuboru.class.getName()).log(Level.SEVERE, null, ex);
            ex.printStackTrace();
            System.err.println(ex.getMessage());
        }
    }
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.10.12
Prihlásený: 28.10.12
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 17.10.2012 21:58

srdecna vdaka, konecne sa mi to podarilo spojazdnit:-)
len ak mozem poprosit este jednu vec, co osetruje tato vynimka, je to pre pripad, ze by bol subor prazdny?

dakujem za trpezlivost...

Kód:
        catch (IOException ex) {
            Logger.getLogger(NacitanieZoSuboru.class.getName()).log(Level.SEVERE, null, ex);
            ex.printStackTrace();
            System.err.println(ex.getMessage());
        }


Offline

Zmazaný užívateľ
Zmazaný užívateľ
Obrázok užívateľa
Príspevok NapísalOffline : 17.10.2012 22:11

ten catch blok slúži na výpis rôznych zaujímavých informácií o chybe, ak nejaká nastala. V mojom prípade nenastala :D to čo si dáš do catch bloku je na tebe. môžeš ho nechať prázdny a nič ti nevypíše a môžeš hladať čo je zle. ak nenájde vstupný súbor tak ti ten moj catch blok vypíše java.io.FileNotFoundException: pokus.txt (The system cannot find the file specified)
tá main metóda je len pre odskúšanie mojho zdrojáku či vôbec niečo robí. pekne načíta zo súboru a v cykle vypíše.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 15.10.12
Prihlásený: 28.10.12
Príspevky: 4
Témy: 1
Príspevok Napísal autor témyOffline : 17.10.2012 22:41

dakujem, pochopila ;)


Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. MAzanie prvkov z poľa v jave

v Assembler, C, C++, Pascal, Java

5

1023

22.12.2010 11:55

Forty- Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pole stringov

v Assembler, C, C++, Pascal, Java

2

644

15.11.2012 21:14

Denco1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. strstr PHP funkcia ale pre viac stringov

v PHP, ASP

4

591

08.08.2018 13:55

baumax Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. java - kontrola stringu

v Assembler, C, C++, Pascal, Java

15

641

16.12.2010 14:22

arnie16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dom z stringu

v JavaScript, VBScript, Ajax

3

443

16.03.2010 20:59

juho Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. vycuc zo stringu

v PHP, ASP

4

437

24.05.2009 22:17

Blackdevil Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ kopirovanie stringu

v Assembler, C, C++, Pascal, Java

2

409

14.11.2012 18:09

faraon Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pole do stringu

v PHP, ASP

3

398

10.03.2009 17:34

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C - načítanie stringu

v Assembler, C, C++, Pascal, Java

14

1898

17.10.2010 21:33

remus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. opatovne nacitanie Stringu - JAVA

v Assembler, C, C++, Pascal, Java

10

778

03.02.2011 18:13

Bajzik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pridavanie medzier do stringu

v PHP, ASP

7

422

31.01.2009 21:38

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JAVA - získanie stringu zo súboru

v Assembler, C, C++, Pascal, Java

6

419

21.04.2014 23:34

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. return stringu po ajaxovom calle

v JavaScript, VBScript, Ajax

7

344

10.06.2014 22:57

hatto13 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako najst poziciu v stringu regexpom?

v PHP, ASP

8

559

29.12.2010 19:36

misko16 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

v PHP, ASP

11

851

09.10.2014 20:13

1daemon1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Trieda v Jave

v Assembler, C, C++, Pascal, Java

3

390

07.02.2014 8:55

m@rtyn Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra