Avatar billede teric Nybegynder
18. november 2002 - 10:14 Der er 8 kommentarer

Hente data fra server

Hej.

Jeg vil gerne hente indholdet fra en .txt-fil, som ligger på en server, til et tekstfelt i en applikation. Jeg har alle rettigheder til at komme på serveren, og jeg har også tjekket, at jeg har alle rettigheder til txt-filen. Er der nogen, som har et forslag til, hvordan jeg kan gøre dette?
Avatar billede di8leva Nybegynder
18. november 2002 - 10:16 #1
to måder....
1)via RMI (Stub + Skel classes) og RMIregistry....
2)ServerSocket + Socket (jag tycker denne måde er bæst)
Avatar billede carstenknudsen Nybegynder
18. november 2002 - 10:19 #2
Er det en standard web server brug en URL eller opret en Socket.
Hvis det er en speciel server må du undersøge hvilken protokol
den understøtter.
Avatar billede carstenknudsen Nybegynder
18. november 2002 - 10:33 #3
Vil du have et kode eksempel?
Avatar billede teric Nybegynder
18. november 2002 - 10:34 #4
Kan I komme med et eksempel? Det er en Apache-server.
Avatar billede carstenknudsen Nybegynder
18. november 2002 - 10:53 #5
try {
        URL url = new URL("http://hostname/filnavn");
        BufferedInputStream in = new BufferedInputStream(url.openStream());
        byte[] buffer = new buffer[8192];
        int bytes_read;
        OutputStream out = new BufferedOutputStream(new FileOutputStream("lokaltnavn"));
        while ((bytes_read = in.read(buffer) ) != -1) {
          out.write(buffer,0,bytes_read);
        }
        in.close();
        out.close();
    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }
Avatar billede teric Nybegynder
18. november 2002 - 12:00 #6
Når jeg indsætter dit eksempel, får jeg en fejl om, at den ikke kan finde klassen buffer. Jeg har heller ikke selv kunne finde den. Jeg har ikke så meget styr på denne del af java, så jeg håber, at du kan hjælpe mig lidt igennem.
Avatar billede carstenknudsen Nybegynder
18. november 2002 - 12:15 #7
Ja naturligivs. Der bruges dog ikke nogen klasse der hedder buffer
i eksemplet. Mener du variablen buffer der er en byte array?
Det er hurtigst hvis du leverer fejlbeskeden (compiletime eller runtime).
Du skal under alle omstændigheder importere nogle pakker:
import java.io.*;
import java.net.*;
Med den konkrete fejlkode kan vi finde fejlen lynhurtigt.
Avatar billede carstenknudsen Nybegynder
18. november 2002 - 12:15 #8
Undskyld: der skulle stå byte[] buffer = new byte[8192];
i stedet for, det var en skrivefejl.
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