File aus dem Internet einlesen

wurgel

Grünschnabel
Hallo,

ich sitz hier irgendwie etwas fest. Mein Programm soll datein und ordner eines verzeinisses im internet in ein File einlesen und diese dann je nach Dateityp weiterverarbeiten.

Mit einem Rechnerinternen Verzeichniss (z.B. c://test als url) klappt alles, nur bekomme ich es nicht hin, das er die Datein aus dem internet liest. Und Tutorials/Beispiele habe ich nur welche gefunden, die die Strings ausließt, was mir ja nicht wirklich weiter hilft.

Danke schon mal im vorraus und noch ein schönes wochenende.
 
Hi,

alte methode: URL.
Etwas besser (Konfiguration etc): HttpClient.

Proxyhost und Port (hier 8080), müssen natürlich angepasst werden

Code:
HttpClient httpclient = new HttpClient();
		httpclient.getHostConfiguration().setProxy("Proxyhost?", 8080);
//		httpclient.getState().setProxyCredentials("my-proxy-realm", " myproxyhost",
//		new UsernamePasswordCredentials("my-proxy-username", "my-proxy-password"));
		String response = "";
		GetMethod httpget = new GetMethod("http://www.myUrl.de");
		try { 
		  try {
			
			int statusCode = httpclient.executeMethod(httpget);		
		  	if (statusCode != HttpStatus.SC_OK) {
                                       //error handling
			}
	  	
		  	response = new String(httpget.getResponseBody());
		  	
		  } catch (HttpException e) {				

		  } catch (IOException e) {				

		  }
	
		} finally {
		    httpget.releaseConnection();		    
		}
		return response;

Das kannst Du ausparsen und entsprechend interpretieren.
Den Headern nach kannst Du sogar gucken, welcher Dateityp angeflogen kommt
und entsprechend Interpretationen vornehmen (z.B. PDFs etc.).

Grüße, Tim
 
Zuletzt bearbeitet:
Sorry für die Späte antwort. hier gings drunter und drüber ;)

Habs jetzt über URL implementiert. Allerdings mag er anscheinend Ordner nicht.
Die datein werden erst runter geladen bevor sie als File eingelesen werden. Ordner speichert er aber einfach als Datei (memetyp).

Weiß einer von euch, wie ichs hinbekomme, das er es als ordner erkennt, oder zumindest auslesen kann, welche datein (name um den Pfad zu den datein zu bilden) in dem Ordner auf dem Fileserver enthalten sind?

hier mal mein aktueller code zum runterladen:
PHP:
public void download(URL url) {
		 int slashIndex =url.getFile().lastIndexOf('/');
		 String fileName=url.getFile().substring(slashIndex + 1);
		 OutputStream outStream = null;
		 URLConnection  uCon = null;
		 InputStream is = null;
		 int size = 1024;
		 try {
			 byte[] buf;
			 int ByteRead,ByteWritten=0;
			 System.out.println(fileName);
		
			 outStream = new BufferedOutputStream(new
				FileOutputStream(fileName));

		uCon = url.openConnection();
		is = uCon.getInputStream();
		buf = new byte[size];
		
		System.out.println();
		while ((ByteRead = is.read(buf)) != -1) {
				outStream.write(buf, 0, ByteRead);
				ByteWritten += ByteRead;
		}
		System.out.println("Downloaded Successfully.");
		System.out.println();
		
		File f =new File(fileName);
		String typ = FileSystemView.getFileSystemView().getSystemTypeDescription(f);
		System.out.println(typ);
		laden(url,f);
		f.delete();
	}
	catch (Exception e) {
	e.printStackTrace();
	}
	finally {
	try {
	is.close();
	outStream.close();
	}
	catch (IOException e) {
	e.printStackTrace();
	}}}
 
Hallo! Habe auch zu dem Thema eine Frage. Und zwar möchte ich einen InfoScreen bastelt, auf zum z.B. auch verschiedene Newsticker aus dem Internet (U-Bahn Störungsticker, ...) eingelesen werden. Der Ticker befindet sich auf einer php-Datei. Ist es möglich, diesen wie eine Text-Datei zum einlesen?

Muss ich das File, so wie in der obigen Lösung zuerst runterkopieren, oder kann ich es einfach irgendwie direkt angeben?

Danke für eure Antwort!
 
Zurück