Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 14 odgovora
  • 5.874 pregleda

Najnovija ↓

Gde je greska? (Citanje txt fajla) 28.01.2008. u 19:08 · pre 228 meseci #1
Sledeci kod mi izbacuje grasku Greska: reci.txt (The system cannot find the file specified):



Code:
import java.io.*;
import java.util.LinkedList;


public class BazaReci {
    public void ucitajUpisiIIspisiReci(String unetiTekst){
        try{
            BufferedReader in = new BufferedReader(new FileReader("reci.txt"));
            
            LinkedList <String> reci = new LinkedList <String>();
            
            boolean kraj = false;
            String s = "";
                        while(!kraj){
                String pom = in.readLine();
                if(pom == null) kraj = true;
                else s = s+pom+" ";
            }
            in.close();
            

        
        String[] reci2 = unetiTekst.split(" ");
        for(int i=0; i<reci2.length;i++){
            if(!reci.contains(reci2[i]))
                reci.add(reci2[i]);
        }
        

        for(int i=0; i<reci.size();i++){
            System.out.println(reci.get(i));
        }
        
        
        }catch(Exception e){
            System.out.println("Greska: "+e.getMessage());
        }

}
}


public class Test {
    public static void main (String[] args){
        
        BazaReci br = new BazaReci();
        String noviTekst = "Ove reci se upisuju u txt fajl";
        br.ucitajUpisiIIspisiReci(noviTekst);
        
    }
}




OK, razumem da ne nalazi fajl ali kod mi deluje korektno napisan. U cemu je problem???
Re: Gde je greska? (Citanje txt fajla) 28.01.2008. u 20:28 · pre 228 meseci #2
Ako ti je ovo u okviru jednog fajla onda kod nije korektan...
Razdvoj klase BazaReci i Test u posebne fajlove ili to sve fino spakuj.

Ako ti kod pak ne izgleda ovako onda (teoretski) moze da bude problem sto ti je ime fajla fajl.txt.txt :)
Re: Gde je greska? (Citanje txt fajla) 28.01.2008. u 20:48 · pre 228 meseci #3
Nisam siguran da li moze da postoje u okviru jednog .java fajla da postoje definisane dve public klase. Predlazem da ti ostane samo Test klasa public, i da umesto ....
BufferedReader in = new BufferedReader(new FileReader("reci.txt"));
bude
BufferedReader in = new BufferedReader(new FileReader("AbsolutePathToFile"));
Re: Gde je greska? (Citanje txt fajla) 28.01.2008. u 21:26 · pre 228 meseci #4
Citat:
Mister_rap: Ako ti je ovo u okviru jednog fajla onda kod nije korektan...
Razdvoj klase BazaReci i Test u posebne fajlove ili to sve fino spakuj.

Ako ti kod pak ne izgleda ovako onda (teoretski) moze da bude problem sto ti je ime fajla fajl.txt.txt :)


Odvojene su mi klase u dva fajl, naravno. Ovo drugo je bio problem :)
Ubi se trazeci gresku...zamalo da odustanem od projekta ;p
Hvala vam momici

E da... kad sam ovde, kako da mi fajlovi u nazivu sadrze ćčš slova a da ih java "vidi"?
Re: Gde je greska? (Citanje txt fajla) 29.01.2008. u 09:49 · pre 228 meseci #7
Da li uopste postoji nesto u onom reci.txt fajlu... ako ne postoji onda nece nista izbaciti jer "System.out.println(reci.get(i))" ti trazi reci iz tog fajla
Re: Gde je greska? (Citanje txt fajla) 29.01.2008. u 16:32 · pre 228 meseci #8
Citat:
narko: Da li uopste postoji nesto u onom reci.txt fajlu... ako ne postoji onda nece nista izbaciti jer "System.out.println(reci.get(i))" ti trazi reci iz tog fajla


Ne,ne, "reci" pretstavljaju objekat klase LinkedList dakle to je lista. Ovaj gore primer sto se tice fajla reci.txt sve reci smesta u String s koji se nigde ne koristi (za sada) i izbacivao je gresku da ne moze da pronadje specifirani fajl. A mislim da se ne baca nikakav izuzetak ako je fajl prazan jer postoji while petlja gore.
Re: Gde je greska? (Citanje txt fajla) 29.01.2008. u 18:39 · pre 228 meseci #9
Za slucaj da se dalje nisi snasao:

Code:

package zadatak7;

import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class ObradaTeksta {
    
    
    public static ArrayList ucitajText(String putanja){
        
        ArrayList lista = new ArrayList();
        
        try {
            FileReader fr = new FileReader(putanja);
            StringBuffer sb = new StringBuffer();
            
            int c;
            while((c=fr.read())!=-1){
                if(Character.isLetterOrDigit(c) || c==' '){
                    sb.append((char)c);
                }
            }
            fr.close();
            
            String tekst = sb.toString();
            String[] reci = tekst.split(" ");
            
            
            for (int i = 0; i < reci.length; i++) {
                if(Character.isUpperCase(reci[i].charAt(0))){
                    lista.add(reci[i]);
                }
            }
            
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
        return lista;
    }
    
    public static ArrayList sortiraj(ArrayList lista){
        
        for(int i=0; i<lista.size(); i++){
            for(int j=i+1; j<lista.size(); j++){
                if(((String)lista.get(i)).length()<((String)lista.get(j)).length()){
                    String stek = (String)lista.get(i);
                    lista.set(i, lista.get(j));
                    lista.set(j, stek);
                }
            }
        }
        
        return lista;

    }
    
    public static void ispisiListuUFajl(ArrayList lista, String putanja){
        
        try {
            FileOutputStream fos = new FileOutputStream(putanja);
            DataOutputStream dos = new DataOutputStream(fos);
            
            for (int i = 0; i < lista.size(); i++) {
                String tekucaRec = (String)lista.get(i);
                dos.writeUTF(tekucaRec);
                dos.writeChar('\t');
                dos.writeInt(tekucaRec.length());
                dos.writeChar('\n');
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }
    
    
}


i

Code:

ackage zadatak7;

import java.util.ArrayList;

public class Glavna {

    /**
     * @param args
     */
    public static void main(String[] args) {


        ArrayList reci = ObradaTeksta.ucitajText("D:/My Java/Principi Programiranja/Materijali/Devedzic/rokovi/oktobar 2007/Zadatak 7/text.txt.txt");
        ArrayList sortiraneReci = ObradaTeksta.sortiraj(reci);
        ObradaTeksta.ispisiListuUFajl(sortiraneReci,"D:/My Java/Principi Programiranja/Materijali/Devedzic/rokovi/oktobar 2007/Zadatak 7/izlaz.txt");

    }

}
Re: Gde je greska? (Citanje txt fajla) 29.01.2008. u 20:09 · pre 228 meseci #10
^Dobro to...nego, interesuje me sada kako da u kodu mogu nekom stringu da dodelim vrednost recimo "češalj" (kako da koristim nasa slova čš..)?
String s = "češalj"; <---ovako, a da eclipse to prihvati.

p.s.Pozdrav kolega fonovac ;)
Re: Gde je greska? (Citanje txt fajla) 30.01.2008. u 10:07 · pre 228 meseci #11
Ne znam, kod mene normalno istampa na konzoli vrednost Stringa ispisanog cirilicom, odnosno latinicom. Doduse, koristim Netbeans, a java sama po sebi za karakter odvaja dva bajta, odnosno unikod kodiranje, tako da nasa slova ne predstavljaju problem. Ne znam zasto Eclipse pravi problem.
Poz od jos jednog fonovca!
Re: Gde je greska? (Citanje txt fajla) 30.01.2008. u 10:11 · pre 228 meseci #12
sto se tice cirilice pogledaj ovde:
Code:
http://www.elitesecurity.org/t303329-Pomoc-oko-cirilice-Java-meniju

ili
Code:
http://www.elitesecurity.org/pretraga?Phrase=cirilica&action=searchoptions&BoardID=32&Submit=Search&SubmitType=Ovog+foruma


upravu si sto se mog odgovora tice.Nisam obratio paznju na to sta odakle vuce... :(

p.s. pozz za sve fonovce :)
Re: Gde je greska? (Citanje txt fajla) 30.01.2008. u 20:56 · pre 228 meseci #14
Citat:
Aleksandar1987: ^Dobro to...nego, interesuje me sada kako da u kodu mogu nekom stringu da dodelim vrednost recimo "češalj" (kako da koristim nasa slova čš..)?
String s = "češalj"; <---ovako, a da eclipse to prihvati.

p.s.Pozdrav kolega fonovac ;)


U Eclipse-u mozes podesiti za svaki projekat zasebno, ili globalno za sve, koje enkodiranje da koristi. Pa promeni npr. na UTF-8 i probaj ...
Potpis
Dame biraju uvek pogresne tipove ... Na srecu ...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme