[ 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 | 1

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 | 34
Bydlisko: Brno

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 | 1
Napísal autor témyOffline : 16.10.2012 20:53 | Rozdelenie stringu do pola stringov v Jave

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

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 | 1
Napísal autor témyOffline : 17.10.2012 21:58 | Rozdelenie stringu do pola stringov v Jave

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

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 | 1
Napísal autor témyOffline : 17.10.2012 22:41 | Rozdelenie stringu do pola stringov v Jave

dakujem, pochopila ;)


 [ Príspevkov: 7 ] 


Rozdelenie stringu do pola stringov v Jave



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

1074

22.12.2010 11:55

Forty-

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

Pole stringov

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

2

679

15.11.2012 21:14

Denco1

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

strstr PHP funkcia ale pre viac stringov

v PHP, ASP

4

709

08.08.2018 13:55

baumax

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

java - kontrola stringu

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

15

679

16.12.2010 14:22

arnie16

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

vycuc zo stringu

v PHP, ASP

4

461

24.05.2009 22:17

Blackdevil

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

Dom z stringu

v JavaScript, VBScript, Ajax

3

473

16.03.2010 20:59

juho

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

C++ kopirovanie stringu

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

2

438

14.11.2012 18:09

faraon

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

Pole do stringu

v PHP, ASP

3

432

10.03.2009 17:34

Tominator

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

C - načítanie stringu

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

14

1941

17.10.2010 21:33

remus

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

pridavanie medzier do stringu

v PHP, ASP

7

447

31.01.2009 21:38

stenley

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

opatovne nacitanie Stringu - JAVA

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

10

823

03.02.2011 18:13

Bajzik

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

450

21.04.2014 23:34

XOLOO

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

return stringu po ajaxovom calle

v JavaScript, VBScript, Ajax

7

377

10.06.2014 22:57

hatto13

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

ako najst poziciu v stringu regexpom?

v PHP, ASP

8

604

29.12.2010 19:36

misko16

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

Odstranenie nadbytocnych medzier, tabulatorov zo stringu....

v PHP, ASP

11

901

09.10.2014 20:13

1daemon1

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

Trieda v Jave

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

3

429

07.02.2014 8:55

m@rtyn



© 2005 - 2024 PCforum, edited by JanoF