Anfaenger Frage
Matthias Stein
- java
Hallo,
ich bin noch ziemlich unbewandert mit Java. Habe allerding eine kleine class zusammengestellt, die ihre aufgabe erfuellt, allerdings haenge ich nun an einem Problem mit java.io.File. Der code lautet etwa so
Document doc = builder.parse(new File(URLasString));
Das Problem, das Ganze funktioniert, so lange der URL String keine http url ist. Also
Document doc = builder.parse(new File("http://url/as/string/file.fox"));
geht nicht
Document doc = builder.parse(new File("file:///home/me/string/file.fox"));
functioniert. Wie kann ich das abaendern, damit auch http urls functionieren?
Vielen Dank fuer Hinweise,
Matthias
Hi,
Wie kann ich das abaendern, damit auch http urls functionieren?
der Begriff "File" deutet sehr stark darauf hin, dass es um Dateien geht. Wieso sollten vollkommen andere Dinge wie z.B. Ressourcen damit vereint werden können, noch dazu in einer so strikten Technik wie Java?
Offensichtlich willst Du nicht die Klasse File() verwenden. Suche Dir ein nettes Interface, beispielsweise ein Streaming, oder bau Dir einen Wrapper, der sich für Dich wie File() verhält, aber auch Ressourcen abholen und ausliefern kann.
Cheatah
Ich bin auch nicht wirklich fit in Java, muss aber punktuell "ran". Analog Deiner Aufgabenstellung habe ich mir mal folgendes zusammengefriemelt:
import java.net.*;
private String simpleWget(String targetUri) throws Exception {
URL remoteLoader = new URL(targetUri);
BufferedReader in = new BufferedReader(new InputStreamReader(remoteLoader.openStream()));
String inputLine;
String resString = "";
while ((inputLine = in.readLine()) != null) {
resString += inputLine;
}
in.close();
return resString;
}
Vielen Dank! Gab mir eine gute Unterstuetzung.