From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001
From: Sven Eisenhauer
Date: Fri, 10 Nov 2023 15:11:48 +0100
Subject: add new repo
---
.../hjp5/html/k100296.html | 180 +++++++++++++++++++++
1 file changed, 180 insertions(+)
create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100296.html
(limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100296.html')
diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100296.html b/Master/Reference Architectures and Patterns/hjp5/html/k100296.html
new file mode 100644
index 0000000..a22ae40
--- /dev/null
+++ b/Master/Reference Architectures and Patterns/hjp5/html/k100296.html
@@ -0,0 +1,180 @@
+
+
+
+Handbuch der Java-Programmierung, 5. Auflage
+
+
+
+
+
+
+
+
+
+
+
+
+46.4 Daten mit Hilfe der Klasse URL lesen
+
+
+
+
+
+Die Klasse URL
+wurde bereits in Abschnitt 40.1.1
+behandelt. Neben den dort beschriebenen Möglichkeiten besitzt
+sie Methoden, um Daten von der Quelle zu lesen, die durch den URL
+adressiert wird:
+
+
+
+
+
+
+public final InputStream openStream()
+ throws IOException
+
+public final Object getContent()
+ throws IOException
+
+public URLConnection openConnection()
+ throws IOException
+
+
+ |
+
+java.net.URL |
+
+
+
+
+Mit openStream
+wird ein InputStream
+geliefert, der wie die Methode getInputStream
+der Klasse Socket
+zum Lesen der Quelldaten verwendet werden kann. getContent
+versucht darüber hinaus, die Daten zu interpretieren. Dazu können
+Content Handler Factories registriert
+werden, die beispielsweise Text-, Image- oder Archivdateien interpretieren
+und ein dazu passendes Java-Objekt liefern. Die Methode openConnection
+stellt eine Vorstufe von getContent
+dar. Sie liefert ein Objekt des Typs URLConnection,
+das eine Abstraktion einer protokollspezifischen Verbindung zwischen
+einem Java-Programm und einem URL darstellt.
+
+
+Als einfaches Beispiel wollen wir uns das folgende Programm SaveURL
+ansehen. Es wird mit einem URL und einer Datei als Argument aufgerufen.
+Mit Hilfe der Klasse URL
+stellt das Programm eine Verbindung zur angegebenen URL her und beschafft
+durch Aufruf von openStream
+einen InputStream.
+Mit seiner Hilfe wird die Quelle gelesen und das Ergebnis in die als
+zweites Argument angegebene Datei geschrieben:
+
+
+
+
+
+
+
+
+001 /* SaveURL.java */
+002
+003 import java.net.*;
+004 import java.io.*;
+005
+006 public class SaveURL
+007 {
+008 public static void main(String[] args)
+009 {
+010 if (args.length != 2) {
+011 System.err.println(
+012 "Usage: java SaveURL <url> <file>"
+013 );
+014 System.exit(1);
+015 }
+016 try {
+017 URL url = new URL(args[0]);
+018 OutputStream out = new FileOutputStream(args[1]);
+019 InputStream in = url.openStream();
+020 int len;
+021 byte[] b = new byte[100];
+022 while ((len = in.read(b)) != -1) {
+023 out.write(b, 0, len);
+024 }
+025 out.close();
+026 in.close();
+027 } catch (MalformedURLException e) {
+028 System.err.println(e.toString());
+029 System.exit(1);
+030 } catch (IOException e) {
+031 System.err.println(e.toString());
+032 System.exit(1);
+033 }
+034 }
+035 }
+
+ |
+
+SaveURL.java |
+
+
+
+Listing 46.8: Daten von einem URL lesen
+
+
+Das Programm kann nun leicht verwendet werden, um den Inhalt beliebiger
+URLs auf der Festplatte abzuspeichern. Die folgenden beiden Aufrufe
+zeigen den Download der Hauptseite des Java-Servers von SUN und das
+Laden einer Testseite von unserem in Abschnitt 46.3.3
+vorgestellten Web-Server:
+
+
+java SaveURL http://java.sun.com x.html
+
+java SaveURL http://localhost/index.html y.html
+
+
+
+
+
+
+
--
cgit v1.2.3