Avatar billede repsak Nybegynder
26. november 2003 - 20:10 Der er 5 kommentarer og
1 løsning

Inputstream fra URL

Jeg har to spørgsmål til denne kode:
1) hvorfor udskriver denne kode ikke hele url-kilden?
2) hvordan skal jeg erklære byte arrayet b bedst (så jeg ikke laver flere pladser end nødvendigt)

url=new URL(startSite);

HttpURLConnection httpURL=(HttpURLConnection) url.openConnection();
InputStream in = httpURL.getInputStream();

while(in.available() > 0){
    in.read(b);
}

System.out.println(new String(b));
Avatar billede arne_v Ekspert
26. november 2003 - 20:34 #1
Jeg plejer at kode det som:

        URL url = new URL("http://www.eksperten.dk/");
        HttpURLConnection con = (HttpURLConnection)url.openConnection();
        con.connect();
        if(con.getResponseCode() == HttpURLConnection.HTTP_OK) {
            InputStream is = con.getInputStream();
            OutputStream os = new FileOutputStream("z.z");
            byte[] b = new byte[1000];
            int n;
            while((n = is.read(b)) >= 0) {
              os.write(b,0,n);
            }
            os.close();
            is.close();
        }
        con.disconnect();
Avatar billede arne_v Ekspert
26. november 2003 - 20:35 #2
re 1)

Jeg mener ikke at du kan stole på available til at læs efra en socket.

Derfor løsningen i mit eksempel.

re 2)

Se mit eksempel.
Avatar billede arne_v Ekspert
26. november 2003 - 20:36 #3
og et svar
Avatar billede repsak Nybegynder
26. november 2003 - 21:02 #4
hmm forresten så skal jeg have mine data i en stringbuffer, men det går ikke så godt:

while((n = is.read(b)) >= 0) {
  sb.append(new String(b));
}

hvordan retter jeg det
Avatar billede arne_v Ekspert
26. november 2003 - 21:05 #5
Prøv med:

sb.append(new String(b, 0, n));
Avatar billede repsak Nybegynder
26. november 2003 - 21:09 #6
jeg takker :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester