| | |
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Autor | Správa |
---|
Registrovaný: 15.10.12 Prihlásený: 28.10.12 Príspevky: 4 Témy: 1 | Napísal Vicma: 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.
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 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?
|
|
Registrovaný: 15.10.12 Prihlásený: 28.10.12 Príspevky: 4 Témy: 1 | Napísal autor témy Vicma: 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; }
|
|
| Napísal Xarxes: 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()); } } }
|
|
Registrovaný: 15.10.12 Prihlásený: 28.10.12 Príspevky: 4 Témy: 1 | Napísal autor témy Vicma: 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()); }
|
|
| Napísal Xarxes: 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 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.
|
|
Registrovaný: 15.10.12 Prihlásený: 28.10.12 Príspevky: 4 Témy: 1 | Napísal autor témy Vicma: 17.10.2012 22:41 | |
|
dakujem, pochopila
|
|
| Stránka: 1 z 1
| [ Príspevkov: 7 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| MAzanie prvkov z poľa v jave v Assembler, C, C++, Pascal, Java | 5 | 1025 | 22.12.2010 11:55 Forty- | | Pole stringov v Assembler, C, C++, Pascal, Java | 2 | 644 | 15.11.2012 21:14 Denco1 | | strstr PHP funkcia ale pre viac stringov v PHP, ASP | 4 | 592 | 08.08.2018 13:55 baumax | | java - kontrola stringu v Assembler, C, C++, Pascal, Java | 15 | 641 | 16.12.2010 14:22 arnie16 | | vycuc zo stringu v PHP, ASP | 4 | 438 | 24.05.2009 22:17 Blackdevil | | Dom z stringu v JavaScript, VBScript, Ajax | 3 | 443 | 16.03.2010 20:59 juho | | C++ kopirovanie stringu v Assembler, C, C++, Pascal, Java | 2 | 409 | 14.11.2012 18:09 faraon | | Pole do stringu v PHP, ASP | 3 | 398 | 10.03.2009 17:34 Tominator | | C - načítanie stringu v Assembler, C, C++, Pascal, Java | 14 | 1898 | 17.10.2010 21:33 remus | | pridavanie medzier do stringu v PHP, ASP | 7 | 423 | 31.01.2009 21:38 stenley | | opatovne nacitanie Stringu - JAVA v Assembler, C, C++, Pascal, Java | 10 | 778 | 03.02.2011 18:13 Bajzik | | JAVA - získanie stringu zo súboru v Assembler, C, C++, Pascal, Java | 6 | 420 | 21.04.2014 23:34 XOLOO | | return stringu po ajaxovom calle v JavaScript, VBScript, Ajax | 7 | 344 | 10.06.2014 22:57 hatto13 | | ako najst poziciu v stringu regexpom? v PHP, ASP | 8 | 559 | 29.12.2010 19:36 misko16 | | Odstranenie nadbytocnych medzier, tabulatorov zo stringu.... v PHP, ASP | 11 | 852 | 09.10.2014 20:13 1daemon1 | | Trieda v Jave v Assembler, C, C++, Pascal, Java | 3 | 390 | 07.02.2014 8:55 m@rtyn |
| 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
|
|