<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="https://javawiki.sowas.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://javawiki.sowas.com/feed.php">
        <title>Java Wiki java</title>
        <description></description>
        <link>https://javawiki.sowas.com/</link>
        <image rdf:resource="https://javawiki.sowas.com/lib/images/favicon.ico" />
       <dc:date>2023-09-14T18:49:10+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:annotations&amp;rev=1430244048&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:applet-host&amp;rev=1301379571&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:applet-read-from-server&amp;rev=1334644543&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:array-initialize&amp;rev=1261041311&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:array_sortieren&amp;rev=1313673380&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:array_to_collection&amp;rev=1423222769&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:array_vergroessern&amp;rev=1334644870&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:arraylist_to_array&amp;rev=1427804791&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:assert&amp;rev=1422273429&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:base64&amp;rev=1318589380&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:beans&amp;rev=1261041433&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:bytearray-to-hexstring&amp;rev=1422273294&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:bytearray-to-object&amp;rev=1579723173&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:capslock-state&amp;rev=1579723173&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:clipboard&amp;rev=1334838776&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:collection-remove-element&amp;rev=1579723176&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:color-line-text&amp;rev=1307344316&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:comand-line-external-program&amp;rev=1411372233&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:connection-pooling&amp;rev=1307344187&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:console-input&amp;rev=1307344199&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:cpu-core&amp;rev=1301379683&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:create-dir&amp;rev=1318590987&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:date-format&amp;rev=1313744668&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:delete-dir&amp;rev=1319718687&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:e-mail_versenden&amp;rev=1307344286&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:element_in_array_suchen&amp;rev=1658943222&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:enum&amp;rev=1352195635&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:enumeration-iterate&amp;rev=1411649360&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:enumeration-subset&amp;rev=1334838889&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:environment-variable&amp;rev=1286175782&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:equals-hascode&amp;rev=1452506905&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:exceptions&amp;rev=1579723175&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:file-copy&amp;rev=1384782204&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:file-delete&amp;rev=1307344217&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:file-read&amp;rev=1381918419&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:file-write&amp;rev=1398754457&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:filefilter&amp;rev=1307344269&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:generic-instanceof&amp;rev=1307344338&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:generic-new-instance&amp;rev=1385386378&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:get-own-ip-address&amp;rev=1310908599&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:hashmap-iterate&amp;rev=1421389857&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:image-from-jar&amp;rev=1305634387&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:inputstreamreader&amp;rev=1261041234&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:java&amp;rev=1694600774&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:locale-language-land&amp;rev=1413972907&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:logging&amp;rev=1380011088&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:lokalisieren&amp;rev=1414045800&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:lru-cache&amp;rev=1318590339&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:mac-address&amp;rev=1579723174&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:map-iterate&amp;rev=1579723173&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:memory&amp;rev=1318590673&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:method-exists-reflection&amp;rev=1579723176&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:modifier&amp;rev=1318590301&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:number-formatter&amp;rev=1318591034&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:object-to-byte-array&amp;rev=1316676224&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:operators-priority&amp;rev=1269896139&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:optional-parameter&amp;rev=1331546115&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:outofmemoryerror&amp;rev=1318590371&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:outputstreamwriter&amp;rev=1261045519&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:parsen-formattieren-binary-octal-hexadezimal&amp;rev=1318590401&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:print-direct&amp;rev=1579723174&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:private-field-access&amp;rev=1422273213&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:properties_lesen&amp;rev=1370935780&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:read-dir&amp;rev=1579723174&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:read-write-permission&amp;rev=1318590446&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:read-xml-parse&amp;rev=1579723173&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:redirect-system.out&amp;rev=1318590833&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:regular-expressions&amp;rev=1579723173&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:servlet&amp;rev=1318590622&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:shutdownhook&amp;rev=1318590634&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:singleton&amp;rev=1370935897&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:socket&amp;rev=1289977935&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:sort-objects&amp;rev=1579723174&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:sorted-hashtable&amp;rev=1318590241&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:sql-commit-rollback&amp;rev=1318590704&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:stack-trace&amp;rev=1318590749&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:statustext_in_browser-statuszeile&amp;rev=1318590782&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:string-to-inputstream&amp;rev=1318590803&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:stringtokenizer&amp;rev=1314174509&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:system-properties&amp;rev=1423552596&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:thread-ende-feststellen&amp;rev=1318590856&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:thread-pausieren&amp;rev=1370936166&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:thread-wait-notify&amp;rev=1318590896&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:unbehandelte_exceptions&amp;rev=1307344302&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:unicode&amp;rev=1440594838&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:utf-8-special-chars&amp;rev=1436952918&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:value-facet-datatypes&amp;rev=1318591024&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:vector-sortieren&amp;rev=1318590952&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:vm-parameter&amp;rev=1370936027&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:wildcard-suche&amp;rev=1318590816&amp;do=diff"/>
                <rdf:li rdf:resource="https://javawiki.sowas.com/doku.php?id=java:xmlgregoriancalendar-to-date&amp;rev=1512127031&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://javawiki.sowas.com/lib/images/favicon.ico">
        <title>Java Wiki</title>
        <link>https://javawiki.sowas.com/</link>
        <url>https://javawiki.sowas.com/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:annotations&amp;rev=1430244048&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-04-28T20:00:48+02:00</dc:date>
        <title>java:annotations</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:annotations&amp;rev=1430244048&amp;do=diff</link>
        <description>Java - Allgemein



Annotations sind Informationen (Metadaten), die man zu einer Methode oder Klasse notieren und später wieder auslesen kann.





Hier eine beispielhafte Klasse mit einer Annotation:




@MyAnnotation
class MyClass {
}





Nun das Auslesen der Annotation:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:applet-host&amp;rev=1301379571&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-03-29T08:19:31+02:00</dc:date>
        <title>java:applet-host</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:applet-host&amp;rev=1301379571&amp;do=diff</link>
        <description>Java - Allgemein



javax.swing.JApplet oder java.applet.Applet

Der server von welchem ein Applet geladen wurde kann mit folgendem Code ermittlet werden:









String host = getCodeBase().getHost();</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:applet-read-from-server&amp;rev=1334644543&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-17T08:35:43+02:00</dc:date>
        <title>java:applet-read-from-server</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:applet-read-from-server&amp;rev=1334644543&amp;do=diff</link>
        <description>Java - Allgemein



java.applet.Applet

java.io.BufferedReader

java.io.InputStreamReader

Ein Applet kann eine Datei vom Server lesen, allerdings aus Sicherheitsgründen nur von dem Server, von dem es stammt.




URL url = new URL(&quot;http://my-test-server.de/file.xml&quot;);
BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = br.readLine()) != null) {
   System.out.println(line);
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:array-initialize&amp;rev=1261041311&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T10:15:11+02:00</dc:date>
        <title>java:array-initialize</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:array-initialize&amp;rev=1261041311&amp;do=diff</link>
        <description>Java - Allgemein



Bei der Deklaration:




String[] strs = {&quot;Apfel&quot;, &quot;Birne&quot;, &quot;Pflaume&quot;);




Bei der Deklaration eines mehrdimensionalen Arrays:




String[][] strs = {{&quot;Apfel&quot;, &quot;Äpfel&quot;}, {&quot;Birne&quot;, &quot;Birnen&quot;}, {&quot;Pflaume&quot;, &quot;Plaumen&quot;});










Inline in einem Methodenaufruf:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:array_sortieren&amp;rev=1313673380&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-18T15:16:20+02:00</dc:date>
        <title>java:array_sortieren</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:array_sortieren&amp;rev=1313673380&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Arrays

Ein Array kann einfach durch die statische Methode java.util.Arrays.sort(..) sortiert werden.



String strs[] = {&quot;Birne&quot;, &quot;Apfel&quot;, &quot;Banane&quot;};
Arrays.sort(strs);





Das Ganze funktioniert auch unter Ignorierung der Groß-/Kleinschreibung:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:array_to_collection&amp;rev=1423222769&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-06T12:39:29+02:00</dc:date>
        <title>java:array_to_collection</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:array_to_collection&amp;rev=1423222769&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Arrays

java.util.List

Die Konvertierung eines Arrays in eine Collection geht über die Klasse Arrays:









import java.util.Arrays;
import java.util.List;

String[] strs = {&quot;Apfel&quot;, &quot;Birne&quot;, &quot;Banane&quot;};
List list = Arrays.asList(strs);
// und zurück:
strs = list.toArray(new String[0]);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:array_vergroessern&amp;rev=1334644870&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-17T08:41:10+02:00</dc:date>
        <title>java:array_vergroessern</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:array_vergroessern&amp;rev=1334644870&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.reflect.Array

java.lang.System

Ein Array kann nicht wirklich vergrößert werden. Es kann aber recht einfach ein neues, größeres Array mit dem alten Inhalt erzeugt werden. Im Beispiel wird die Größe eines Integer-Array von 4 auf 6 Elemente „vergrößert“.</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:arraylist_to_array&amp;rev=1427804791&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-03-31T14:26:31+02:00</dc:date>
        <title>java:arraylist_to_array</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:arraylist_to_array&amp;rev=1427804791&amp;do=diff</link>
        <description>Java - Allgemein



java.util.ArrayList







// Das Ausgangs-Array:
String[] strs = {&quot;Apfel&quot;, &quot;Birne&quot;, &quot;Banane&quot;, &quot;Pflaume&quot;};

// Alle Elemente in eine ArrayList packen:
ArrayList&lt;String&gt; al = new ArrayList&lt;String&gt;(Arrays.asList(strs));

// Nun die ArrayList wieder in ein Array konvertiert:
String[] strs2 = al.toArray(new String[0]);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:assert&amp;rev=1422273429&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-26T12:57:09+02:00</dc:date>
        <title>java:assert</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:assert&amp;rev=1422273429&amp;do=diff</link>
        <description>Java - Allgemein



Assertions testen Bedingungen. Ist das Ergebins der Bedingung true wird die Arbeit normal weitergeführt. Bei false erfolgt ein Abbruch (eine assertion violation exception wird geworfen).

Beispiel 1:




public void doSomething(String str) {
   assert str != null;
   if (str.length &gt; 0)
      ...
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:base64&amp;rev=1318589380&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T12:49:40+02:00</dc:date>
        <title>java:base64</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:base64&amp;rev=1318589380&amp;do=diff</link>
        <description>Java - Allgemein



javax.mail.internet.MimeUtility

Oftmals müssen Daten Base64 codiert werden um sie zu transportieren.

Häufig wird Base64-Kodierung beim Mailversand verwendet, daher ist die Kodierung etwas versteckt im Mail-API zu finden.








Folgende kleine Klasse soll die Verwendung demonstrieren. Im Beispiel kann ein String zu einem ByteArray und zurück kodiert werden:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:beans&amp;rev=1261041433&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T10:17:13+02:00</dc:date>
        <title>java:beans</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:beans&amp;rev=1261041433&amp;do=diff</link>
        <description>Java - Allgemein



Ein einfaches Bean:




public class MyBean {
   int myProperty;

   public int getMyProperty() {
      return myProperty;
   }

   public void setMyProperty(int newValue) {
      myProperty = newValue;
   }
}








Ein Bean mit PropertyChangeSupport:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:bytearray-to-hexstring&amp;rev=1422273294&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-26T12:54:54+02:00</dc:date>
        <title>java:bytearray-to-hexstring</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:bytearray-to-hexstring&amp;rev=1422273294&amp;do=diff</link>
        <description>Java - Allgemein



Die folgende Methode wandelt ein ByteArray in einen Hex-String um:









public String getHexString(byte[] b) {
   StringBuffer sb = new StringBuffer();
   for (int i = 0; i &lt; b.length; i++){
      if (i &gt; 0)
         sb.append(':');
      sb.append(Integer.toString((b[i] &amp; 0xff) + 0x100, 16).substring(1));
   }
   return sb.toString();
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:bytearray-to-object&amp;rev=1579723173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:33+02:00</dc:date>
        <title>java:bytearray-to-object</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:bytearray-to-object&amp;rev=1579723173&amp;do=diff</link>
        <description>Java - Allgemein



Die folgende Methode wandelt ein ByteArray in ein Java-Objekt um:









public Object getObject(byte[] bytes) {
   Object obj = null;
   try {
      ByteArrayInputStream bis = new ByteArrayInputStream (bytes);
      ObjectInputStream ois = new ObjectInputStream (bis);
      obj = ois.readObject();
   } catch (IOException e) {
      e.printStackTrace();
   } catch (ClassNotFoundException e) {
      e.printStackTrace();
   }
   return obj;
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:capslock-state&amp;rev=1579723173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:33+02:00</dc:date>
        <title>java:capslock-state</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:capslock-state&amp;rev=1579723173&amp;do=diff</link>
        <description>Java - Allgemein



Möchte man den Status der Caps Lock Taste erfragen, so hilft folgenden Javacode:









boolean capsLockOn = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:clipboard&amp;rev=1334838776&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-19T14:32:56+02:00</dc:date>
        <title>java:clipboard</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:clipboard&amp;rev=1334838776&amp;do=diff</link>
        <description>Java - Allgemein



java.awt.datatransfer.Clipboard

Das folgende Beispiel zeigt wie der Zugriff auf die Zwischenablage mit Java erfolgt:







package com.sowas.javawiki.clipboard;

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.ClipboardOwner;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOEx…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:collection-remove-element&amp;rev=1579723176&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:36+02:00</dc:date>
        <title>java:collection-remove-element</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:collection-remove-element&amp;rev=1579723176&amp;do=diff</link>
        <description>Java - Allgemein



java.util.collection

Der folgender Code entfernt Elemente aus einer Collection mittels einer Iteration:









Collection&lt;MyElement&gt; elements = ...
Iterator&lt;MyElement&gt; iter = elements.iterator();
while (iter.hasNext()) {
   MyElement element = iter.next();
   if (isElementToRemove(element)) {  // isElementToRemove muss natürlich auch irgendwo implementiert sein ;-)
      iter.remove();
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:color-line-text&amp;rev=1307344316&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:11:56+02:00</dc:date>
        <title>java:color-line-text</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:color-line-text&amp;rev=1307344316&amp;do=diff</link>
        <description>Java - Allgemein



java.awt.Color

java.awt.Graphics

Das Beispiel gibt einen roten Text („Hallo World!“) und eine rote Linie aus.









public void paintComponent(Graphics g) {
   g.setColor(Color.RED);
   // Ebenfalls rot: g.setColor(255, 0, 0);
   g.drawString(&quot;Hallo World!&quot;, 10, 10);
   g.drawLine(g, 0, 0, 10, 10);
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:comand-line-external-program&amp;rev=1411372233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-22T09:50:33+02:00</dc:date>
        <title>java:comand-line-external-program</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:comand-line-external-program&amp;rev=1411372233&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.Runtime

Der gezeigte Code bringt ein PDF zur Anzeige:









String comand = &quot;&quot;;
if (System.getProperty(&quot;os.name&quot;).startsWith(&quot;Windows&quot;))
   comand = &quot;cmd /c &quot;;
comand += &quot;demo.pdf&quot;;
Runtime.getRuntime().exec(comand);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:connection-pooling&amp;rev=1307344187&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:09:47+02:00</dc:date>
        <title>java:connection-pooling</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:connection-pooling&amp;rev=1307344187&amp;do=diff</link>
        <description>Java - Allgemein




Der folgende Source wurde mal eben schnell eingehackt und ist daher ungetestet, sollte aber trotzdem funktionieren ;-)









package com.sowas.lib.sql;

import java.sql.*;
import java.util.*;

public class ConnectionPool {
	Vector vPool = new Vector();
	String strDriver, strURLDatabase;
	
	//....................
	
	public ConnectionPool(String strDriver, String strURLDatabase){
		this.strDriver=strDriver;
		this.strURLDatabase=strURLDatabase;
	}
	
	//....................
…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:console-input&amp;rev=1307344199&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:09:59+02:00</dc:date>
        <title>java:console-input</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:console-input&amp;rev=1307344199&amp;do=diff</link>
        <description>Java - Allgemein



Eine Eingabe über die Kommandozeile (z.B.: MSDOS-Eingabeaufforderung) zeigt folgender Code:









try {
   BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
   String strInput = input.readLine();
   System.out.println(&quot;Ihre Eingabe war: &quot;+strInput);
} catch (Exception e) {
   e.printStacktrace();
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:cpu-core&amp;rev=1301379683&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-03-29T08:21:23+02:00</dc:date>
        <title>java:cpu-core</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:cpu-core&amp;rev=1301379683&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.Runtime

Die Anzahl der CPU-Kerne, welche der JavaVM zur Verfügung stehen lässt sich wie folgt ermitteln:









int num = Runtime.getRuntime().availableProcessors();
System.out.println(&quot;Anzahl der gefundenen CPU-Kerne: &quot; + num);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:create-dir&amp;rev=1318590987&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:16:27+02:00</dc:date>
        <title>java:create-dir</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:create-dir&amp;rev=1318590987&amp;do=diff</link>
        <description>Java - Allgemein



java.io.File









File file = new File(&quot;/eins/zwei/drei/&quot;);
file.mkdirs();</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:date-format&amp;rev=1313744668&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-19T11:04:28+02:00</dc:date>
        <title>java:date-format</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:date-format&amp;rev=1313744668&amp;do=diff</link>
        <description>Java - Allgemein



 java.text.SimpleDateFormat



Der untenstehende Code formatiert das aktuelle Datum:









SimpleDateFormat sd = new SimpleDateFormat(&quot;dd.MM.yyyy HH:mm:ss&quot;);
String dateString = sd.format(new Date()); 
System.out.println(dateString);
// Und zurück:
Date date = sd.parse(dateString);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:delete-dir&amp;rev=1319718687&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-27T14:31:27+02:00</dc:date>
        <title>java:delete-dir</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:delete-dir&amp;rev=1319718687&amp;do=diff</link>
        <description>Java - Allgemein



java.io.File

Der folgende Code löscht rekursiv alle Ordner innerhalb von c:\temp: 








import java.io.File;

public class DeleteDir {

   public static void deleteDir(File path) {
      for (File file : path.listFiles()) {
         if (file.isDirectory())
            deleteDir(file);
         file.delete();
      }
      path.delete();
   }

   public static void main(String[] args) {
      deleteDir(new File(&quot;c:/temp&quot;));
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:e-mail_versenden&amp;rev=1307344286&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:11:26+02:00</dc:date>
        <title>java:e-mail_versenden</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:e-mail_versenden&amp;rev=1307344286&amp;do=diff</link>
        <description>Java - Allgemein



Um eine einfache Mail zu verwenden braucht es nicht viel Code:









import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
    
public class SendMail {
   public void sendMail(String smtpHost, int smtpPort,
                        String from, String to,
                        String subject, String content)
                throws AddressException, MessagingException {
      java.util.Properties props = new java.util.Properties();…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:element_in_array_suchen&amp;rev=1658943222&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-07-27T19:33:42+02:00</dc:date>
        <title>java:element_in_array_suchen</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:element_in_array_suchen&amp;rev=1658943222&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Arrays

Die Durchsuchen eines sortiertem Array kann mittels java.util.Arrays.binarySearch(..) durchgeführt werden.









    // Array mit sortierten Elementen erzeugen:
    String[] sortedArray = new String[]{&quot;Apfel&quot;, &quot;Birne&quot;, &quot;Kiwi&quot;};
    
    // Suchen nach Birne:
    int index = Arrays.binarySearch(sortedArray, &quot;Birne&quot;);    // Resultat: 1
    
    // Suchen nach Banane:
    index = Arrays.binarySearch(sortedArray, &quot;Banane&quot;);       // Resultat: -2

    // Nun d…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:enum&amp;rev=1352195635&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-11-06T10:53:55+02:00</dc:date>
        <title>java:enum</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:enum&amp;rev=1352195635&amp;do=diff</link>
        <description>Java - Allgemein



Code-Beispiel:




public enum Example { 
   EINS, ZWEI, DREI, VIER, FUENF, SECHS 
}





Einfache Verwendung:




for (Example zahl : Example.values())
   System.out.println(zahl);











Enumaration mit Parameter


public enum Month {
  JAN(31), 
  FEB(28),
  MAR(31), 
  APR(30), 
  MAY(31), 
  JUN(30),
  JUL(31), 
  AUG(31), 
  SEP(30), 
  OCT(31), 
  NOV(30), 
  DEC(31);

  private int days;

  Month(int days) {
    this.days = days;
  }

  public int getDays() {
    …</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:enumeration-iterate&amp;rev=1411649360&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-09-25T14:49:20+02:00</dc:date>
        <title>java:enumeration-iterate</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:enumeration-iterate&amp;rev=1411649360&amp;do=diff</link>
        <description>Java - Allgemein



Code-Beispiel:









public enum Example { EINS, ZWEI, DREI, VIER, FUENF, SECHS }
for (Example zahl : Example.values())
   System.out.println(zahl);







Stichworte:



Enumeration durchlaufen Enum iterieren</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:enumeration-subset&amp;rev=1334838889&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-04-19T14:34:49+02:00</dc:date>
        <title>java:enumeration-subset</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:enumeration-subset&amp;rev=1334838889&amp;do=diff</link>
        <description>Java - Allgemein



 java.util.EnumSet



Code-Beispiel:









public enum Example { EINS, ZWEI, DREI, VIER, FUENF, SECHS }

EnumSet&lt;Example&gt; eAll        = EnumSet.allOf(Example.class);  // EINS, ZWEI, DREI, VIER, FUENF, SECHS
EnumSet&lt;Example&gt; eOf         = EnumSet.of(ZWEI, VIER);        // ZWEI, VIER
EnumSet&lt;Example&gt; eRange      = EnumSet.range(ZWEI, VIER);     // ZWEI, DREI, VIER
EnumSet&lt;Example&gt; eComplement = EnumSet.complementOf(eRange);  // EINS, FUENF, SECHS</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:environment-variable&amp;rev=1286175782&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-10-04T09:03:02+02:00</dc:date>
        <title>java:environment-variable</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:environment-variable&amp;rev=1286175782&amp;do=diff</link>
        <description>Java - Allgemein



Im Beispiel wird die path-Variable des Betriebssystems ausgegeben:









String str = System.getenv(&quot;path&quot;);
System.out.prinln(str);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:equals-hascode&amp;rev=1452506905&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2016-01-11T11:08:25+02:00</dc:date>
        <title>java:equals-hascode</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:equals-hascode&amp;rev=1452506905&amp;do=diff</link>
        <description>Java - Allgemein



Die Methode equals dient dem Vergleich von zwei Objekten (genauer: der inhaltlichen Gleichheit).

Der Vergleich ist immer eindeutig.

die Methode hascode erzeugt einen int-Wert, welcher das Objekt repräsentiert, aber nicht zwangsweise eindeutig ist. Zwei Objekte mit dem selben hashcode sind wahrscheinlich gleich aber nicht sicher. Diese Methode muss schnell funktionieren und wird in den Hash...-Klassen verwendet.</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:exceptions&amp;rev=1579723175&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:35+02:00</dc:date>
        <title>java:exceptions</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:exceptions&amp;rev=1579723175&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.UnsupportedClassVersionError: com/sowas/MyExampleClass: Unsupported major.minor version 51.0

Diese Fehlermeldung taucht auf, wenn die Version der Runtimeumgebung nicht mit den Class-Files umgehen kann. Also wenn beispielsweise die Class-Files mit der Java-Version 1.7 erstellt wurden, aber die Runtimeumgebung, in welche die Software laufen soll, Java-Version 1.6 ist.



J2SE 8   = 52

J2SE 7   = 51

J2SE 6   = 50

J2SE 5   = 49

JDK  1.4 = 48

JDK  1.3 = 47

JDK  1.…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:file-copy&amp;rev=1384782204&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-18T14:43:24+02:00</dc:date>
        <title>java:file-copy</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:file-copy&amp;rev=1384782204&amp;do=diff</link>
        <description>Java - Allgemein



Hier wird einfach eine Datei kannweg.txt nach kannweg.bak kopiert (ab Java 7):









import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
 
public class FileCopy {
   public static void main(String[] args) throws IOException {
      Path source = Paths.get(&quot;C:/temp/kannweg.txt&quot;);
      Path destination = Paths.get(&quot;C:/temp/kannweg.bak&quot;);
      Files.copy(source, destination);
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:file-delete&amp;rev=1307344217&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:10:17+02:00</dc:date>
        <title>java:file-delete</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:file-delete&amp;rev=1307344217&amp;do=diff</link>
        <description>Java - Allgemein



Die Datei „MyFile.txt“ soll erst erstellt und dann gelöscht werden.









File    file = new File(&quot;MyFile.txt&quot;);
boolean fOk;
file.createNewFile();
if (!fOk) {
   // Erstellen ist fehlgeschlagen
}else {
   fOk = file.delete();
   if (!fOk) {
      // Löschen ist fehlgeschlagen
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:file-read&amp;rev=1381918419&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-10-16T12:13:39+02:00</dc:date>
        <title>java:file-read</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:file-read&amp;rev=1381918419&amp;do=diff</link>
        <description>Java - Allgemein



Der folgenden Code ermöglicht eine Textdatei zeilenweise zu lesen:







try {
   BufferedReader br = new BufferedReader(new FileReader(&quot;test.txt&quot;));
   String line = null;
   while ((line = br.readLine()) != null) {
      System.out.println(&quot;Gelesene Zeile: &quot; + line);
   }
   br.close();
} catch (IOException e) {
   e.printStackTrace();
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:file-write&amp;rev=1398754457&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-04-29T08:54:17+02:00</dc:date>
        <title>java:file-write</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:file-write&amp;rev=1398754457&amp;do=diff</link>
        <description>Java - Allgemein



java.io.FileWriter

Hier wird einfach ein zweizeiliger Text in eine Datei geschrieben:









try {
   BufferedWriter out = new BufferedWriter(new FileWriter(&quot;test.txt&quot;));
   out.write(&quot;Erste Zeile\nZweite Zeile&quot;);
   out.close();
} catch(IOException e) {
   e.printStackTrace();
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:filefilter&amp;rev=1307344269&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:11:09+02:00</dc:date>
        <title>java:filefilter</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:filefilter&amp;rev=1307344269&amp;do=diff</link>
        <description>Java - Allgemein



java.io.FileFilter

Der folgende, sehr einfache Dateifilter zeigt alle Dateien an, welche im aktuellen Verzeichnis liegen, mit einem „a“ beginnen und „pdf“ als Endung haben (Siehe auch: Wildcardsuche):









package com.sowas.javawiki.filefilter;

import java.io.*;

public class FileFilter {
   final String strPath = &quot;.&quot;;
   
   public FileFilter(final String strFilename, final String strExtension) {
      try {
         File file = new File(strPath);
         String[] str…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:generic-instanceof&amp;rev=1307344338&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:12:18+02:00</dc:date>
        <title>java:generic-instanceof</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:generic-instanceof&amp;rev=1307344338&amp;do=diff</link>
        <description>Java - Allgemein



Hin und wieder besteht das Bedürfnis zu bestimmen von welchem Typ ein Generic nun wirklich ist.

In der Regel weißt folgender Code aber auf schlechtes Design hin. Trotzdem hilft er manchmal... ;-)









package com.sowas.javawiki;

import java.lang.reflect.ParameterizedType;

public class GenericType{

   @SuppressWarnings(&quot;unchecked&quot;)
   public static void main(String[] args) throws InstantiationException, IllegalAccessException{
      Class c = new MyClass&lt;String&gt;(){}.ge…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:generic-new-instance&amp;rev=1385386378&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-11-25T14:32:58+02:00</dc:date>
        <title>java:generic-new-instance</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:generic-new-instance&amp;rev=1385386378&amp;do=diff</link>
        <description>Java - Allgemein



Ein new Instance eines Generics ist mit folgendem Code möglich:




public class MyClass&lt;T&gt; {
   public doSomething() {
      T myInstance = (T)((Class)((ParameterizedType)this.getClass().getGenericSuperclass()).getActualTypeArguments()[0]).newInstance();
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:get-own-ip-address&amp;rev=1310908599&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-07-17T15:16:39+02:00</dc:date>
        <title>java:get-own-ip-address</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:get-own-ip-address&amp;rev=1310908599&amp;do=diff</link>
        <description>Java - Allgemein



java.net.InetAddress

Die eigene IP-Adresse kann wie folgt ermittelt werden:



InetAddress.getLocalHost().getHostAddress()</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:hashmap-iterate&amp;rev=1421389857&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-16T07:30:57+02:00</dc:date>
        <title>java:hashmap-iterate</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:hashmap-iterate&amp;rev=1421389857&amp;do=diff</link>
        <description>Java - Allgemein



java.util.HashMap









HashMap map = ...
for(String key : map.keySet()) {
   System.out.print(&quot;Key: &quot; + key + &quot; - &quot;);
   System.out.print(&quot;Value: &quot; + map.get(key) + &quot;\n&quot;);
}







Stichworte:



HashMap iterieren durchlaufen</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:image-from-jar&amp;rev=1305634387&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-05-17T14:13:07+02:00</dc:date>
        <title>java:image-from-jar</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:image-from-jar&amp;rev=1305634387&amp;do=diff</link>
        <description>Java - Allgemein









ImageIcon icon = new ImageIcon(getClass().getResource(&quot;/img/image.png&quot;));</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:inputstreamreader&amp;rev=1261041234&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T10:13:54+02:00</dc:date>
        <title>java:inputstreamreader</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:inputstreamreader&amp;rev=1261041234&amp;do=diff</link>
        <description>Java - Allgemein



Im Beispiel wird eine UTF-8 kodierte Datei eingelesen und auf der Console ausgegeben:









BufferedReader br;
try{
   br = new BufferedReader(new InputStreamReader(new FileInputStream(strPath), &quot;UTF-8&quot;));
}catch (Exception e){
   e.printStackTrace();
}
String strLine;
while ((strLine = br.readLine()) != null) {
   System.out.println(strLine);
}
br.close();</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:java&amp;rev=1694600774&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-09-13T12:26:14+02:00</dc:date>
        <title>java:java</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:java&amp;rev=1694600774&amp;do=diff</link>
        <description>*  Annotations -&gt; Array
	*  Applet, Datei vom Server lesen
	*  Applet, Host feststellen
	*  Array, Element suchen
	*  Array, initialisieren
	*  Array sortieren



	*  Array, umwandeln in Collection
	*  Array vergrößern/Array kopieren
	*  ArrayList, umwandeln zu Array
	*  assert
	*  Base64
	*  Beans, gebunden, vetoable
	*  Bild aus einer jar-Datei laden
	*  Byte-Array zu Hex-String umwandeln
	*  Byte-Array zu Objekt umwandeln</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:locale-language-land&amp;rev=1413972907&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-10-22T12:15:07+02:00</dc:date>
        <title>java:locale-language-land</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:locale-language-land&amp;rev=1413972907&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Locale

Die Sprachen- und Landesinformationen werden in der Klasse Locale zusammengefasst.









Locale german = new Locale( &quot;de&quot;, &quot;DE&quot; );   // deutsch, Deutschland
Locale french = new Locale( &quot;fr&quot; );         // Französich, Land egal</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:logging&amp;rev=1380011088&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-09-24T10:24:48+02:00</dc:date>
        <title>java:logging</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:logging&amp;rev=1380011088&amp;do=diff</link>
        <description>Java - Allgemein



Fürs Erste soll das einfache Beispiel eines Logging auf die Console reichen:




import java.util.logging.*;

public class LoggingDemo {
   static Logger LOGGER = Logger.getLogger(&quot;LoggingDemo&quot;);
   static Handler handler;

   public LoggingDemo() {
      // Console Handler erzeugen:
      handler = new ConsoleHandler();
      
      // Log Level des Handlers auf FINEST setzen:
      handler.setLevel(Level.FINEST);
      LOGGER.addHandler(handler);
      LOGGER.setUseParentHa…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:lokalisieren&amp;rev=1414045800&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2014-10-23T08:30:00+02:00</dc:date>
        <title>java:lokalisieren</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:lokalisieren&amp;rev=1414045800&amp;do=diff</link>
        <description>Java - Allgemein



java.util.ResourceBundle

In vielen Anwendungen sollen alle Texte für verschiedene Sprachen verfügbar sein.
Diese Texte lassen sich in sogenannte ResourceBundles auslagern. Dies wird hier in Form zweier einfacher Properties-Dateien gezeigt. Dabei definieren die beiden Buchstaben nach dem „_“ die Sprache (de=deutsch, en=englisch, fr=französisch, ...).

Zusätzlich kann auch das Land angegeben werden (DE=Deutschland, CH=Schweiz, ...). In diesem Fall würde die Property-Datei z.B.…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:lru-cache&amp;rev=1318590339&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:05:39+02:00</dc:date>
        <title>java:lru-cache</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:lru-cache&amp;rev=1318590339&amp;do=diff</link>
        <description>Java - Allgemein



Hier wird ein Cache definiert, welcher 50 Elemente aufnehmen kann. Wird das 51-ste Element hinzugefügt, so wird das Element gelöscht auf welches am Längsten  nicht zugegriffen wurde.



public class LRUCache {
   public static final int MAX_ENTRIES = 50;
   private Map             cache;

   public LRUCache(){
      cache = new LinkedHashMap(MAX_ENTRIES+1, 0.70f, true){
        @Override
        public boolean removeEldestEntry(Map.Entry eldest) {
            return size() &gt; …</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:mac-address&amp;rev=1579723174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:34+02:00</dc:date>
        <title>java:mac-address</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:mac-address&amp;rev=1579723174&amp;do=diff</link>
        <description>Java - Allgemein



Die MAC-Adressen lassen sich ab JDK1.6 sehr einfach ermitteln:









package com.sowas.javawiki;

import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;

public class MacAddress {

	public static void main(String args[]) throws SocketException {
		Enumeration&lt;NetworkInterface&gt; nets = NetworkInterface.getNetworkInterfaces();
		for (NetworkInterface netint : Collections.list(nets…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:map-iterate&amp;rev=1579723173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:33+02:00</dc:date>
        <title>java:map-iterate</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:map-iterate&amp;rev=1579723173&amp;do=diff</link>
        <description>Java - Allgemein











for (Map.Entry&lt;String, Integer&gt; entry : treeMap.entrySet()) {
  String key = entry.getKey();
  Integer value = entry.getValue();
  System.out.println(key: + key + &quot;\nvalue:&quot; + value);
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:memory&amp;rev=1318590673&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:11:13+02:00</dc:date>
        <title>java:memory</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:memory&amp;rev=1318590673&amp;do=diff</link>
        <description>Java - Allgemein









   // Den HeapMemory ermitteln:
   long sizeHeap = Runtime.getRuntime().totalMemory();
    
   // Den freien HeapMemory ermitteln:
   long freeSizeHeap = Runtime.getRuntime().freeMemory();
    
   // Dem maximal verfügbaren HeapMemory ermitteln
   // (wird dieser überschritten, so folgt ein OutOfMemoryError):
   long maxSizeHeap = Runtime.getRuntime().maxMemory();</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:method-exists-reflection&amp;rev=1579723176&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:36+02:00</dc:date>
        <title>java:method-exists-reflection</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:method-exists-reflection&amp;rev=1579723176&amp;do=diff</link>
        <description>Java - Allgemein



Manchmal möchte man wissen, ob eine Methode existiert. Dies lässt sich per Reflection testen:






Folgender Code ruft eine Methode isEnabled() auf, sofern die Klasse MyObject über diese Methode verfügt. Existiert die Methode nicht, so wird eine Exception geworfen.</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:modifier&amp;rev=1318590301&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:05:01+02:00</dc:date>
        <title>java:modifier</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:modifier&amp;rev=1318590301&amp;do=diff</link>
        <description>Java - Allgemein








abstractSo gekennzeichnete Methoden haben keinen Body und müssen in abgeleiteten Klassen implementiert werden.transientSo gekennzeichnete Variablen werden bei Serialisierungen zur Persistierung eines Objekts nicht mit gespeichert.volatileSo gekennzeichnete Variablen können durch äußere Ereignisse geändert werden (z.B. Interrupts) und werden daher nicht in Registern gespeichert.</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:number-formatter&amp;rev=1318591034&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:17:14+02:00</dc:date>
        <title>java:number-formatter</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:number-formatter&amp;rev=1318591034&amp;do=diff</link>
        <description>Java - Allgemein



java.text.DecimalFormat für die formatierte und lokalisierte Darstellung von Zahlen.









BigDecimal wert = 12.3;
System.out.println(new DecimalFormat(&quot;#.##&quot;).format(wert));         // 12.3
System.out.println(new DecimalFormat(&quot;0.00 €&quot;).format(wert));       // 12.30 €
System.out.println(new DecimalFormat(&quot;0000.00&quot;).format(wert));	    // 0012.30</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:object-to-byte-array&amp;rev=1316676224&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-09-22T09:23:44+02:00</dc:date>
        <title>java:object-to-byte-array</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:object-to-byte-array&amp;rev=1316676224&amp;do=diff</link>
        <description>Java - Allgemein



Die Umwandlung eines beliebigen Objekts in ein Byte-Array kann wie folgt vorgenommen werden:







public byte[] getBytes(Object obj) throws java.io.IOException{
   ByteArrayOutputStream baos = new ByteArrayOutputStream();
   ObjectOutputStream oos = new ObjectOutputStream(baos);
   oos.writeObject(obj);
   oos.flush();
   oos.close();
   baos.close();
   byte [] ba = baos.toByteArray();
   return ba;
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:operators-priority&amp;rev=1269896139&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-03-29T22:55:39+02:00</dc:date>
        <title>java:operators-priority</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:operators-priority&amp;rev=1269896139&amp;do=diff</link>
        <description>Java - Allgemein



Die Operatoren mit der höchsten Priorität stehen oben, die Operatoren mit der niedrigsten Priorität unten.









++ -- + -
~ !
* / %
+ -
&lt;&lt; &gt;&gt; &gt;&gt;&gt;
&lt; &gt; &lt;= &gt;= instanceof
== !=
&amp;
^
|
&amp;&amp;
||
? :
= *= /= %= += -= &lt;&lt;= &gt;&gt;= &gt;&gt;&gt;= &amp;= ^= |=</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:optional-parameter&amp;rev=1331546115&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2012-03-12T10:55:15+02:00</dc:date>
        <title>java:optional-parameter</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:optional-parameter&amp;rev=1331546115&amp;do=diff</link>
        <description>Java - Allgemein



Es besteht die Möglichkeit eine Methode mit optinalen Parametern aufzurufen.









public void myMethod(Object... args) {
   for (Object arg : args)
      System.out.println(arg);
}





Aufrufe könnten so erfolgen:



myMethod(&quot;A&quot;, &quot;B&quot;, &quot;C&quot;);
myMethod(&quot;D&quot;, &quot;E&quot;);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:outofmemoryerror&amp;rev=1318590371&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:06:11+02:00</dc:date>
        <title>java:outofmemoryerror</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:outofmemoryerror&amp;rev=1318590371&amp;do=diff</link>
        <description>Java - Allgemein








Über den JVM-Parameter


-XX:+HeapDumpOnOutOfMemoryError


wird ein Heap Dump im Arbeitsverzeichnis mit der Endung .hprof abgelegt.

Der Heap Dump kann mit dem zum SDK gehörenden Programm JHAT analysiert werden.

Ein wesentlich umfangreicheres Tool ist der Memory Analyzer von SAP.



Siehe auch Speicher, Heap, freier</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:outputstreamwriter&amp;rev=1261045519&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-12-17T11:25:19+02:00</dc:date>
        <title>java:outputstreamwriter</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:outputstreamwriter&amp;rev=1261045519&amp;do=diff</link>
        <description>Java - Allgemein



java.io.OutputStreamWriter

Möchte man einen Stream mit einem bestimmten Encoding schreiben (z.B. UTF-8), so kann folgendes Beispiel helfen:









String lineSeparator = System.getProperty(&quot;line.separator&quot;);
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(&quot;myfile.xml&quot;), &quot;UTF-8&quot;);
osw.append(&quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot; ?&gt;&quot;+lineSeparator);
osw.append(&quot;äöüßÄÖÜ&quot;+lineSeparator);
osw.flush();
osw.close();</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:parsen-formattieren-binary-octal-hexadezimal&amp;rev=1318590401&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:06:41+02:00</dc:date>
        <title>java:parsen-formattieren-binary-octal-hexadezimal</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:parsen-formattieren-binary-octal-hexadezimal&amp;rev=1318590401&amp;do=diff</link>
        <description>Java - Allgemein









String str;
int    num = 255;
    
// binäre Zahl parsen und formatieren:
num = Integer.parseInt(&quot;11111111&quot;, 2);  // 255
str = Integer.toString(num, 2);         // 11111111
    
// oktale Zahl parsen und formatieren:
num = Integer.parseInt(&quot;377&quot;, 8);       // 255
str = Integer.toString(num, 8);         // 377
    
// dezimale Zahl parsen und formatieren:
num = Integer.parseInt(&quot;255&quot;);          // 255
str = Integer.toString(num);            // 255
    
// hexadezimale Za…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:print-direct&amp;rev=1579723174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:34+02:00</dc:date>
        <title>java:print-direct</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:print-direct&amp;rev=1579723174&amp;do=diff</link>
        <description>Java - Allgemein



 javax.print.PrintService

Das Problem auf einen bestimmten Drucker zu drucken liegt darin, den PrintService für diesen Drucker zu bekommen.

Man kann sich jedoch eine Liste mit allen Druckern geben lassen und diese nach dem gewünschten Drucker durchsuchen:




\\</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:private-field-access&amp;rev=1422273213&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-01-26T12:53:33+02:00</dc:date>
        <title>java:private-field-access</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:private-field-access&amp;rev=1422273213&amp;do=diff</link>
        <description>Java - Allgemein



Manchmal ist es extrem hilfreich, wenn man auf private Felder anderer Klassen (insbesondere Bibliotheken) zugreifen kann. Theoretisch kann der SecurityManager dies unterbinden. Praktisch ist das aber fast nie der Fall.
Natürlich sollte einem beim Verwenden eines solchen Hacks bewusst sein, dass diese Art von Zugriff zu Problemen führen kann. Insbesondere könnte in einer späteren Version einer gedachten Libary die Variable nicht mehr existieren oder umbenannt sein.








Im …</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:properties_lesen&amp;rev=1370935780&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-11T09:29:40+02:00</dc:date>
        <title>java:properties_lesen</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:properties_lesen&amp;rev=1370935780&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Properties

In einer Property-Datei (eine normale Textdatei mit der Endung „properties“) können Informationen in der Form



info=Huhu 


gespeichert werden.








Das Lesen einer Properties-Datei und das Auslesen eines Properties funktioniert wie folgt:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:read-dir&amp;rev=1579723174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:34+02:00</dc:date>
        <title>java:read-dir</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:read-dir&amp;rev=1579723174&amp;do=diff</link>
        <description>Java - Allgemein



java.io.File

Der folgende Code listet rekursiv alle Dateien innerhalb von c:\temp: 








import java.io.File;

public class ListDir {

   public static void listDir(File path) {
      for (File file : path.listFiles()) {
         if (file.isDirectory())
            listDir(file);
         System.out.println(file.getCanonicalPath());
      }
   }

   public static void main(String[] args) {
      listDir(new File(&quot;c:/temp&quot;));
   }
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:read-write-permission&amp;rev=1318590446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:07:26+02:00</dc:date>
        <title>java:read-write-permission</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:read-write-permission&amp;rev=1318590446&amp;do=diff</link>
        <description>Java - Allgemein



java.security.Permissions









try {
   // Einschalten des SecurityManager:
   SecurityManager sm = new SecurityManager();
   System.setSecurityManager(sm);
} catch (SecurityException se) {
   // SecurityManager ist bereits gesetzt
}

boolean fHasPermission;
try {
   AccessController.checkPermission(new FilePermission(&quot;/tmp/*&quot;, &quot;read,write&quot;));
   fHasPermission = true;
} catch (SecurityException e) {
   fHasPermission = false;
}

if (fHasPermission)
   ...</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:read-xml-parse&amp;rev=1579723173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:33+02:00</dc:date>
        <title>java:read-xml-parse</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:read-xml-parse&amp;rev=1579723173&amp;do=diff</link>
        <description>Java - Allgemein











import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;

import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;


public class XMLDemo {
	ArrayList&lt;Address&gt; addresses = new ArrayList&lt;&gt;();
	
	public XMLDemo() {
		String x…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:redirect-system.out&amp;rev=1318590833&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:13:53+02:00</dc:date>
        <title>java:redirect-system.out</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:redirect-system.out&amp;rev=1318590833&amp;do=diff</link>
        <description>Java - Allgemein



Folgender Code ermöglicht das Umleiten von System.out.println(..) in eine Datei:









System.setOut(new PrintStream(new FileOutputStream(&quot;out.log&quot;)));</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:regular-expressions&amp;rev=1579723173&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:33+02:00</dc:date>
        <title>java:regular-expressions</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:regular-expressions&amp;rev=1579723173&amp;do=diff</link>
        <description>Java - Allgemein



Hier ein kleiner Auszug aus den Möglichkeiten von regulären Ausrücken (regular expressions):









	*  ^ alleinstehend steht es für den Anfang einer Zeichenkette
	*  . steht für ein beliebiges Zeichen
	*  + das vorhergehende Zeichen muss mindestens einmal vorkommen (folglich steht .+ für eine beliebige Zeichenkette mit mindestems einem Zeichen)
	*  * das vorhergehende Zeichen kann kein Mal bis beliebig oft vorkommen (folglich steht .* für eine beliebige Zeichenkette)
	*  […</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:servlet&amp;rev=1318590622&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:10:22+02:00</dc:date>
        <title>java:servlet</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:servlet&amp;rev=1318590622&amp;do=diff</link>
        <description>Java - Allgemein



Servlets werden von einer Java Virtual Machine innerhalb des Web-Servers ausgeführt.
Sie sind also das Gegenstück von Applets, welche ja von einer Java Virtual Machine innerhalb des Web-Browsers ausgeführt werden.








Servlets können wie Java-Applikationen auf lokale Files und Programme am Web-Server zugreifen.
Sie unterliegen somit nicht den Einschränkungen von Applets.



Das gleich folgende minimale Servlet gibt die übergebenen Parameter einfach wieder zurück.
Falls am…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:shutdownhook&amp;rev=1318590634&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:10:34+02:00</dc:date>
        <title>java:shutdownhook</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:shutdownhook&amp;rev=1318590634&amp;do=diff</link>
        <description>Java - Allgemein



Wenn man Code beim Beenden der VM ausführen möchte, so hat man die Möglichkeit einen oder mehrere Thread(s) zu definieren und anzumelden. Dieser/diese wird dann beim Beenden ausgeführt wird.









Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        System.out.println(&quot;Die VM wird gerade beendet!&quot;);
    }
});</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:singleton&amp;rev=1370935897&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-11T09:31:37+02:00</dc:date>
        <title>java:singleton</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:singleton&amp;rev=1370935897&amp;do=diff</link>
        <description>Java - Allgemein



Ein Singleton ist eine Klasse, von welcher nur eine Instanz erzeugt werden kann.
Singletons werden immer dann verwendet, wenn man eine Klasse in einem Projekt an vielen Stellen verwenden möchte und diese Klasse nicht überall als Parameter mitgeben möchte.



Ein Beispiel wäre eine Klasse zum Loggen, welche alle Loginformationen in eine Datei schreiben soll. Diese Klasse würde praktisch im ganzen Projekt benötigt, aber es wäre extrem unklug dafür jedesmal eine eigene Instanz z…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:socket&amp;rev=1289977935&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-11-17T08:12:15+02:00</dc:date>
        <title>java:socket</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:socket&amp;rev=1289977935&amp;do=diff</link>
        <description>Java - Allgemein



Zum Debuggen von SSLSockets muss folgender Parameter an die VM übergeben werden:




-Djavax.net.debug=SSL,handshake,trustmanager</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:sort-objects&amp;rev=1579723174&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-01-22T20:59:34+02:00</dc:date>
        <title>java:sort-objects</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:sort-objects&amp;rev=1579723174&amp;do=diff</link>
        <description>Java - Allgemein



Manchmal hat man das Problem eine Liste beliebiger Objekte zu sortieren. Kann man diese Objekte nicht selbst sortierbar machen (also einen Comparator implementieren), so bleibt noch die folgende Möglichkeit:









List&lt;MyObject&gt; myObjects = new ArrayList&lt;&gt;();
myObjects.add(new MyObject(&quot;Zwei&quot;, 2);
myObjects.add(new MyObject(&quot;Eins&quot;, 1);
Collections.sort(myObjects, new Comperator&lt;MyObject&gt;) {
   @Override
   public int compare(MyObject o1, MyObject o2) {
      return o1.getT…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:sorted-hashtable&amp;rev=1318590241&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:04:01+02:00</dc:date>
        <title>java:sorted-hashtable</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:sorted-hashtable&amp;rev=1318590241&amp;do=diff</link>
        <description>Java - Allgemein



Eine Möglickeit eine Hashtable zu sortieren geht so (Genaugenommen wird natürlich nicht die Hashtable sortiert, sondern der Vector mit den Keys):



package com.sowas.javawiki.examples;
 
import java.util.Hashtable;
 
public class SortedHashtableExample {
 
   public static void main(String[] args) {
      Hashtable&lt;String, Integer&gt; ht = new Hashtable&lt;String, Integer&gt;();
      ht.put(&quot;c&quot;, 3);
      ht.put(&quot;a&quot;, 1);
      ht.put(&quot;b&quot;, 2);
      Vector&lt;String&gt; v = new Vector&lt;Stri…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:sql-commit-rollback&amp;rev=1318590704&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:11:44+02:00</dc:date>
        <title>java:sql-commit-rollback</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:sql-commit-rollback&amp;rev=1318590704&amp;do=diff</link>
        <description>Java - Allgemein



Normalerweise werden alle SQL-Kommandos sofort ausgeführt. Möchte man dies vermeiden, so muss „AutoCommit“ expizit abgeschaltet werden:









try {
   // AutoCommit abschalten:
   connection.setAutoCommit(false);
    
   // Hier diverse SQL-Kommandos absetzten...
    
   // Bis hier hat Alles geklappt, also jetzt commiten:
   connection.commit();
} catch (SQLException e) {
   // Irgendwas lief schief, also Alles rückgängig machen:
   connection.rollback();
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:stack-trace&amp;rev=1318590749&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:12:29+02:00</dc:date>
        <title>java:stack-trace</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:stack-trace&amp;rev=1318590749&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.Threads








Manchmal möchte man gerne den StackTrace sehen auch wenn keine Exception auftritt. Folgender Code macht das möglich:




for (int i=0; i&lt; Thread.currentThread().getStackTrace().length; i++)
    System.out.println(Thread.currentThread().getStackTrace()[i].getMethodName());</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:statustext_in_browser-statuszeile&amp;rev=1318590782&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:13:02+02:00</dc:date>
        <title>java:statustext_in_browser-statuszeile</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:statustext_in_browser-statuszeile&amp;rev=1318590782&amp;do=diff</link>
        <description>Java - Allgemein









applet.showStatus(&quot;Diese Meldung stamm vom Applet.&quot;);</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:string-to-inputstream&amp;rev=1318590803&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:13:23+02:00</dc:date>
        <title>java:string-to-inputstream</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:string-to-inputstream&amp;rev=1318590803&amp;do=diff</link>
        <description>Java - Allgemein



Manchmal braucht man einen InputStream für irgendeine Methode und hat aber einen String. Folgender Code hilft hierbei:









String myString = &quot;huhu&quot;;
byte[] bytes = myString.getBytes();               // Mit Default Encoding
// byte[] bytes = myString.getBytes(&quot;UTF-8&quot;);     // Mit gesetzen Encoding, hier &quot;UTF-8&quot;
InputStream is = new ByteArrayInputStream(bytes);
if (is != null) {
   ...
}</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:stringtokenizer&amp;rev=1314174509&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-08-24T10:28:29+02:00</dc:date>
        <title>java:stringtokenizer</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:stringtokenizer&amp;rev=1314174509&amp;do=diff</link>
        <description>Java - Allgemein



java.util.StringTokenizer

Ein String kann wie folgt zerlegt werden:




StringTokenizer st = new StringTokenizer(&quot;1,2,3,4,5,6&quot;, &quot;,&quot;);
while (st.hasMoreTokens()) {
   System.out.println(st.nextToken());
}








Die Ausgabe wäre:

1

2

3

4

5

6</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:system-properties&amp;rev=1423552596&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-02-10T08:16:36+02:00</dc:date>
        <title>java:system-properties</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:system-properties&amp;rev=1423552596&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.System








Einige der vorhandenen Systemproperties:

file.separatorDer Fileseperator, also das Trennungszeichen zwischen den Bestandteilen eines Pfadnamensjava.class.versionDie Version der Java-Klassenbibliothekjava.class.pathDer aktuellen Pfad zu den Klassen (classpath)java.io.tmpdirDas temporäre Verzeichnisjava.vendorHerausgeber der Java-Versionjava.vendor.urlEin Link zum Herausgebenjava.versionDie Java-Versionline.separatorDas/die Zeichen für Zeilenumbrücheos…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:thread-ende-feststellen&amp;rev=1318590856&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:14:16+02:00</dc:date>
        <title>java:thread-ende-feststellen</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:thread-ende-feststellen&amp;rev=1318590856&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.Threads

Ein Thread ist beendet, wenn die run()-Methode verlassen wurde.









// Einen Thread starten:
Thread thread = new MyThread();
thread.start();
    
// Abfragen, ob der Thread noch läuft:
if (thread.isAlive()) {
   // Thread läuft noch...
} else {
   // Thread ist beendet
}
    
// Eine festgelegte Zeit auf das Ende eines Threads warten:
long waitMillis = 10000; // 10 Sekunden
try {
   thread.join(waitMillis);
   if (thread.isAlive()) {
      // Die 10 Se…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:thread-pausieren&amp;rev=1370936166&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-11T09:36:06+02:00</dc:date>
        <title>java:thread-pausieren</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:thread-pausieren&amp;rev=1370936166&amp;do=diff</link>
        <description>Java - Allgemein



java.lang.Threads

Es gibt die Möglichkeit einen Thread mit Thread.suspend() und Thread.resume() zu pausieren. Diese Methoden sind aber aus gutem Grund veraltet. Intensive Nutzung kann zu einem deadlock führen.








Die bessere Methode ist es, den Thread auf folgenden Art zu pausieren:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:thread-wait-notify&amp;rev=1318590896&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:14:56+02:00</dc:date>
        <title>java:thread-wait-notify</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:thread-wait-notify&amp;rev=1318590896&amp;do=diff</link>
        <description>Java - Allgemein



Das Beispiel zeigt einen MasterThread, welcher einen ChildThread startet und sich dann „schlafen legt“ um anschließend von seinem eigenen ChildThread nach Fertigstellung des Selbigen wieder geweckt wird:



package com.sowas.javawiki.waitnotify;
 
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
 
public class MasterThread extends Thread {
   private static ExecutorService service = Executors.newCachedThreadPool();

   @Override
   public vo…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:unbehandelte_exceptions&amp;rev=1307344302&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-06-06T09:11:42+02:00</dc:date>
        <title>java:unbehandelte_exceptions</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:unbehandelte_exceptions&amp;rev=1307344302&amp;do=diff</link>
        <description>Java - Allgemein






Ab Java 5 kann man mittels



Thread.setDefaultUncaughtExceptionHandler(...) 



unbehandelte Exceptions einfangen.</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:unicode&amp;rev=1440594838&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-08-26T15:13:58+02:00</dc:date>
        <title>java:unicode</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:unicode&amp;rev=1440594838&amp;do=diff</link>
        <description>Java - Allgemein








Zeichen 	Unicode
------------------------------
Ä, ä 		\u00c4, \u00e4
Ö, ö 		\u00d6, \u00f6
Ü, ü 		\u00dc, \u00fc
ß 		\u00df




Siehe auch: UTF-8 Sonderzeichen



Beispielhafte Verwendung:



String demo = &quot;\u00c4nderung&quot;;  // &quot;Änderung&quot;</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:utf-8-special-chars&amp;rev=1436952918&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2015-07-15T11:35:18+02:00</dc:date>
        <title>java:utf-8-special-chars</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:utf-8-special-chars&amp;rev=1436952918&amp;do=diff</link>
        <description>Java - Allgemein



Hier eine kleine Liste mit nützlichen Sonderzeichen, codiert in UTF-8.








▴ \u25B2 Nach oben gerichtestes Dreieck
▶ \u25b6 Nach rechts gerichtetes Dreieck
◀ \u25c0 Nach links gerichtetes Dreieck
▼ \u25bc Nach unten gerichtestes Dreieck
▽ \u25BD Offenes nach unten gerichtetes Dreieck
▾ \u25BE Kleines schwarzes nach unten gerichtestes Dreieck
◆ \u25c6 Auf der Spitze stehendes Quadrat
☀ \u2600 Sonne
☁ \u2601 Wolke
☂ \u2602 Regenschirm
✓ \u2713 Haken
✕ \u2715 X
✖ \u2716 Fett…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:value-facet-datatypes&amp;rev=1318591024&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:17:04+02:00</dc:date>
        <title>java:value-facet-datatypes</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:value-facet-datatypes&amp;rev=1318591024&amp;do=diff</link>
        <description>Java - Allgemein








Typ       Wertebereich                            Größe in Byteboolean   true, false                               1  char      Alle Unicode-Zeichen                      2  byte      -207 bis 207-1      1  short     -215 bis 215-1      2  int       -231 bis 231-1      4  long      -263 bis 263-1      8  float     -3.40282347*1038 bis 3.40282347*1038  4  double    -1.79769313486231570*10308 bis 1.79769313486231570*10308                  8</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:vector-sortieren&amp;rev=1318590952&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:15:52+02:00</dc:date>
        <title>java:vector-sortieren</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:vector-sortieren&amp;rev=1318590952&amp;do=diff</link>
        <description>Java - Allgemein



java.util.Vector

Beispiel für einen Vector, welcher nur Strings enthält:




Collections.sort(myVector, new Comparator&lt;String&gt;() {
   public int compare(String s1, String s2){
      return s1.compareTo(s2);
   }
});










Beispiel für einen Vector, welcher Objekte vom Typ MyClass enthält:</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:vm-parameter&amp;rev=1370936027&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-06-11T09:33:47+02:00</dc:date>
        <title>java:vm-parameter</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:vm-parameter&amp;rev=1370936027&amp;do=diff</link>
        <description>Java - Allgemein








-eaenable assertions-ea:packagenameenable assertions für ein package-dadisable assertions-da:packagenamedisable assertions für ein package-Xms256mminimalen Speicher für Anwendung festlegen, hier 256MB-Xmx1024mmaximalen Speicher für Anwendung festlegen, hier 1024MB-Xxs2048kmaximalen Speicher für Threads festlegen, hier 2046KB-clientverwendet Client-Hotspot-VM-serververwendet Server-Hotspot-VM-Dname=valuesetzt ein System-Property


Eine vollständige Liste aller Argumente i…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:wildcard-suche&amp;rev=1318590816&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2011-10-14T13:13:36+02:00</dc:date>
        <title>java:wildcard-suche</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:wildcard-suche&amp;rev=1318590816&amp;do=diff</link>
        <description>Java - Allgemein



Siehe auch Reguläre Ausdrücke









package com.sowas.snippets;

/**
 * Wildcardsuche. Unterstützt '*' und '?'.
 */
public class Wildcard{
   private final String wildcardString;

   /**
    * Der Konstruktor für die WildcardSuche.
    * 
    * @param wildcardString Der WildcardString
    */
   public Wildcard(String wildcardString){
      this.wildcardString = wildcardString;
   }

   /**
    * Die Methode, welche den Vergleich durchführt.
    * 
    * @param str Der Stri…</description>
    </item>
    <item rdf:about="https://javawiki.sowas.com/doku.php?id=java:xmlgregoriancalendar-to-date&amp;rev=1512127031&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-12-01T12:17:11+02:00</dc:date>
        <title>java:xmlgregoriancalendar-to-date</title>
        <link>https://javawiki.sowas.com/doku.php?id=java:xmlgregoriancalendar-to-date&amp;rev=1512127031&amp;do=diff</link>
        <description>Java - Allgemein











XMLGregorianCalendar calendar = ...
Date date = calendar.toGregorianCalendar().getTime();







Stichworte:




XMLGregorianCalendar konvertieren Date</description>
    </item>
</rdf:RDF>
