Toon posts:

[java] newbie vraag: file op internet openen

Pagina: 1
Acties:

Verwijderd

Topicstarter
het zal wel aan mij liggen, maar ik kan nergens vinden hoe ik een file die niet op de locale pc maar op internet staat kan openen.

het gaat om een .txt bestand op een webserver.

bij deze manier is de file gevonden
code:
1
2
3
4
5
File file = new File("file.txt");
if(file.exists())
{
System.out.println("GetData: file: " + file.getName() +  " gevonden!");
}

maar bij de volgende word hij niet gevonden.
code:
1
2
3
4
5
File file = new File("http://www.eenwebsite.nl/file.txt");
if(file.exists())
{
System.out.println("GetData: file: " + file.getName() +  " gevonden!");
}



Nu is dus mijn vraag hoe ik een file op internet kan openen (en uitlezen maar dat moet wel lukken)

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 10-08 15:15
Als je alleen een file wilt lezen via http (niet schrijven), dan is dat mogelijk. Als het programma als applet draait heb je wel een restrictie dat je alleen bestanden kan openen die op dezelfde server als het applet staat (na ja, zelfde domain).

Daarvoor kan je gebruik maken van het java.net.URL object. Als je daar naar gaat kijken, zul je ook zien hoe je bijvoorbeeld een input stream kan openen (uit m'n hoofd: via een getConnection() methode en dan getInputStream()).

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 14:03

Robtimus

me Robtimus no like you

Infinitive schreef op 15 October 2003 @ 20:11:
Daarvoor kan je gebruik maken van het java.net.URL object. Als je daar naar gaat kijken, zul je ook zien hoe je bijvoorbeeld een input stream kan openen (uit m'n hoofd: via een getConnection() methode en dan getInputStream()).
Bijna.
java.net.URL#openStream geeft een InputStream terug, die moet je (dacht ik tenminste) hebben.

Die heeft trouwens als body
Java:
1
return openConnection().getInputStream();
Je had dus wel bijna gelijk, alleen geen getConnection() maar openConnection().

[ Voor 22% gewijzigd door Robtimus op 15-10-2003 20:59 . Reden: Niet mijn lokale kopie van de API gebruiken de volgende keer ]

More than meets the eye
There is no I in TEAM... but there is ME
system specs


Verwijderd

Topicstarter
Het is gelukt.
Ik heb het als volgt gedaan:

code:
1
2
URL url = new URL("http://www.files.nl/file.txt");
InputStream is = url.openStream();


nu kan ik met is.read() de file uitlezen!

Bedankt voor de hulp!

  • Robtimus
  • Registratie: November 2002
  • Laatst online: 14:03

Robtimus

me Robtimus no like you

Verwijderd schreef op 15 oktober 2003 @ 22:34:
Het is gelukt.
Ik heb het als volgt gedaan:

code:
1
2
URL url = new URL("http://www.files.nl/file.txt");
InputStream is = url.openStream();


nu kan ik met is.read() de file uitlezen!

Bedankt voor de hulp!
Da's dan 50 euro })


PS: als je url nergens anders gebruikt, maar alleen de inputstream, kun je het ook als volgt doen:
Java:
1
InputStream is = new URL("http://www.files.nl/file.txt").openStream();
Scheelt weer een variabele.

More than meets the eye
There is no I in TEAM... but there is ME
system specs