Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

downloading file (writing to file )

[es] :: Java :: downloading file (writing to file )

[ Pregleda: 1866 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

markoz
Niska Banja/Madrid

Član broj: 406
Poruke: 66
195.235.92.*

ICQ: 37750151
Sajt: www.tid.es


Profil

icon downloading file (writing to file )18.04.2007. u 12:20 - pre 176 meseci
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
WI FI MI
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: downloading file (writing to file )18.04.2007. u 22:05 - pre 176 meseci
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
 
Odgovor na temu

river
System Architect

Član broj: 12566
Poruke: 62
*.user.veloxzone.com.br.



+1 Profil

icon Re: downloading file (writing to file )18.04.2007. u 22:17 - pre 176 meseci
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.

Everything should be made as simple as possible, but not simpler. - AA
 
Odgovor na temu

markoz
Niska Banja/Madrid

Član broj: 406
Poruke: 66
195.235.92.*

ICQ: 37750151
Sajt: www.tid.es


Profil

icon Re: downloading file (writing to file )19.04.2007. u 10:45 - pre 176 meseci
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....
WI FI MI
 
Odgovor na temu

grizzly
Beograd

Član broj: 7978
Poruke: 262



+4 Profil

icon Re: downloading file (writing to file )19.04.2007. u 21:42 - pre 176 meseci
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
 
Odgovor na temu

markoz
Niska Banja/Madrid

Član broj: 406
Poruke: 66
195.235.92.*

ICQ: 37750151
Sajt: www.tid.es


Profil

icon Re: downloading file (writing to file )04.05.2007. u 10:38 - pre 175 meseci
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
WI FI MI
 
Odgovor na temu

[es] :: Java :: downloading file (writing to file )

[ Pregleda: 1866 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.