[ markoz @ 18.04.2007. 12:20 ] @
Radim na aplikaciji koja nalazi odredjeni file na netu i treba da ga skine, verovali ili ne laksi deo posla je bio -nalazi file na netu.
Kada se radi o txt filevoima bez problema ih skida i snima na pravo mesto, ali kada naidje .gz ( GZIP file) Onda je snimljeni fajl veci nego sto bi trebalo da bude i naravno nije bash kako bi trebalo da bude.

....

Code:

try
                {
                String urlName = "http://data.ris.ripe.net/rrc..."+horaS+".gz\n";
                URL url = new URL(urlName);
                URLConnection connection = url.openConnection();
                connection.connect();
                //reading conntents and writing to file
                BufferedReader in = new BufferedReader(new 
                                InputStreamReader(connection.getInputStream()));
                        
                String line;
                int c = 1;
                while ((line = in.readLine()) != null)
                    {
                        FileWriter file = new FileWriter("./binarios/bview"+horaS+".gz", true);
                        BufferedWriter out = new BufferedWriter(file);
                        out.newLine();
                        out.write(line);
                        out.close();
                        c++;
                    }
                in.close();
                
                }
                catch (IOException exception)
                    {
                        exception.printStackTrace();
                    }

....


itd...

ima neko neku ideju sto mi "se pokvario kompjuktor"?
poz
Marko
[ grizzly @ 18.04.2007. 22:05 ] @
Pokusaj da podatke citas i zapisujes nekim Input/OutputStream-om pre nego li Reader-om kada su u pitanju fajlovi koji nisu tekstualnog oblika. Ne znam da li ima ikakve veze ali cini mi se da vredi pokusati...

poz
[ river @ 18.04.2007. 22:17 ] @
Upravo tako, binarne podatke čitaj i piši streamovima a ne reader/writer kombinacijom, i još nešto... ne možeš binarne fajlove da čitaš liniju po liniju. Odatle i razlika u veličini, BufferedReader vidi bilo koju od sledećih kombinacija kao EOL karakter : \n, \r, \r\n, što znači da EOL može da bude bilo koji od tih karaktera, a kada upisuješ u fajl, ti upisuješ newLine koji je default EOL string na tvojoj mašini, kako koristiš linux to znači da uvek upisuješ \n.
[ markoz @ 19.04.2007. 10:45 ] @
Tacno tako u medjuvremenu sam se snashao ali hvala u svakom slucaju.
Ziveli

p.s. evo reshenja
Code:

try
    {
    URL           url  = new URL("http://data.ris.ripe.net/rrc00/"+bla bla bla);
    URLConnection urlC = url.openConnection();
    InputStream is = url.openStream();
    FileOutputStream fos=null;
    String localFile=null;
    // Get only file name
    StringTokenizer st=new StringTokenizer(url.getFile(), "/");
    while (st.hasMoreTokens())localFile=st.nextToken();
    fos = new FileOutputStream("./binarios/"+localFile);
    int oneChar, count=0;
    while ((oneChar=is.read()) != -1)
          {
             fos.write(oneChar);
             count++;
          }
          is.close();
          fos.close();
        }
catch (MalformedURLException e)
      { System.err.println(e.toString()); }
catch (IOException e)
      { System.err.println(e.toString()); }


e sad drugo pitanje jel zna neko kako prosto i brzo da napravim neki progress bar dok se skidaju ovi fajlovi da ne bi izgledalo kao da se ukochio prog... moz neka varijanta sa System.out... ili neki "lepi" gui....
[ grizzly @ 19.04.2007. 21:42 ] @
Ako ti je aplikacija sa GUIjem tada nema svrhe da pravis kad postoji klasa JProgressBar u swing paketu, maada mi pitanje nije najjasnije, to bi svaka bilo glupa sa System.out
[ markoz @ 04.05.2007. 10:38 ] @
Hmm pa pitanje nije bilo jasno jer ni sam nisam znao sta tacno hocu. Alis ad mislim da znam ali da ne umem da ga uradim kako treba.
Naime, posle dugo dugo vremena prvedenog u citanju i googlanju, shvatio sam da mi treba nesto na fazonu Swing Worker-a da bi sve to sa JProgress-om radilo kako treba. Problem je u tome sto ga ne kapiram bas (btw nedavno sam pcoeo da se bavim javom- silom prilike) kako treba da izgleda "organizacija " klase sa ovim sto imam i sa thredovima!
Ima li neko neko prostije objashnjenje da bih se odglavio sa tacke na kojoj stojim? treba mi mnooogo prost primer jer sam sve ostale pregledao i ocigledno ima nesto sto ne kapiram bas kako tu funkcionise.

poz
Marko