!!! Vollständige Listings (zum Teil nicht abgedruckt)
!!! aus dem Artikel "Die gemeine Feder" von Ramon Wartala
!!! in iX 1/05, S. 70
!!! --------------------------------------------------

!!! Listing 1 (de.wartala.apache.commons.io.Beispiel1):

package de.wartala.apache.commons.io;

import java.io.File;

import org.apache.commons.io.FileUtils;

public class Beispiel1 {

  public static void main(String[] args) throws Exception {
    String text = "Dies ist ein einfacher Text," +
      "welcher mit Hilfe der Jakarta Commons " +
      "IO Bibliothek und der Klasse FileUtils " +
      "eingelesen werden soll.";
    
    File file = new File("test.txt");
    System.out.print("schreibe Text in Datei...");
    FileUtils.writeStringToFile(file, text, "UTF-8");
    System.out.println("OK");
    
    String fileLength = FileUtils.byteCountToDisplaySize(file.length());
    System.out.println("'"+file.getName()+"' hat "+fileLength);
    
    System.out.println("Lese Text aus Datei...");
    String text2 = FileUtils.readFileToString(file, "UTF-8");
    System.out.println(text2);
    

  }
}

!!! Listing 2 (de.wartala.apache.commons.io.Beispiel2): 

package de.wartala.apache.commons.io;

import java.io.File;
import java.util.Collection;
import java.util.Iterator;

import org.apache.commons.io.FileUtils;

public class Beispiel2 {

  public static void main(String[] args) {
    String userDir = System.getProperty("user.dir");
    String imgExt[] = {"gif","jpg","bmp","tif"};
    Collection fileList = FileUtils.listFiles(new File(userDir), imgExt, true);
    Iterator iter = fileList.iterator();
    while(iter.hasNext()) {
      File imgFile = (File) iter.next();
      System.out.println("Bilddatei '"+imgFile.getAbsolutePath()+"' gefunden");
    }
  }
}


!!! Listing 3 (de.wartala.apache.commons.io.Beispiel3):

package de.wartala.apache.commons.io;


import java.io.File;
import java.io.FileInputStream;

import org.apache.commons.io.HexDump;
import org.apache.commons.io.IOUtils;


public class Beispiel3 {

  public static void main(String[] args) throws Exception {
    File binFile = new File("test.bmp");
    byte[] fileBytes = IOUtils.toByteArray(new FileInputStream(binFile));
    HexDump.dump(fileBytes, 0x10000000, System.out, 0);
  }
}

!!! Listing 4 (de.wartala.apache.commons.configuration.Beispiel1)

package de.wartala.apache.commons.configuration;

import org.apache.commons.configuration.PropertiesConfiguration;

public class Beispiel1 {
  private static String PARAM1 = "param1";
  private static String PARAM2 = "param2";
    
  private PropertiesConfiguration config = null;
  
  public Beispiel1() {
  }
  
  public void init(String configFilename) throws Exception {
    config = new PropertiesConfiguration();
    config.setFileName(configFilename);
    config.load();
  }
  
  public void printConfig() {
    if(config.containsKey(PARAM1)) {
      System.out.println(config.getString(PARAM1));
    } 
    
    if(config.containsKey(PARAM2)) {
      System.out.println(config.getInt(PARAM2));
    }
  }
  

  public static void main(String[] args) throws Exception {
    Beispiel1 test = new Beispiel1();
    test.init("test.properties");
    test.printConfig();
  }
}


!!! Listing 5 (de.wartala.apache.commons.configuration.Beispiel2):

package de.wartala.apache.commons.configuration;

import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationFactory;

public class Beispiel2 {
  
  private static String PARAM1 = "param1";
  private static String PARAM2 = "param2";

  private Configuration config = null;
  
  public Beispiel2() {
  }
  
  public void init(String configFilename) throws Exception {
    ConfigurationFactory factory = new ConfigurationFactory();
    factory.setConfigurationFileName(configFilename);
    config = factory.getConfiguration();
  }
  
  public void printConfig() {
    System.out.println(PARAM1+"="+config.getString("test[@param1]"));
    System.out.println(PARAM1+"="+config.getString("test[@param2]"));
  }
  
  public static void main(String[] args) throws Exception {
    Beispiel2 test = new Beispiel2();
    test.init("config.xml");
    test.printConfig();
  }
}

!!! Listing 6 (de.wartala.apache.commons.lang.Beispiel1):

package de.wartala.apache.commons.lang;

import java.util.Date;

import org.apache.commons.lang.time.DateFormatUtils;

public class Beispiel1 {

  public static void main(String[] args) {
    
    String dateForm1 = "11/02/04";
    long date = Date.parse(dateForm1);
    
    String dateForm2 = DateFormatUtils.format(date, DateFormatUtils.SMTP_DATETIME_FORMAT.getPattern());
    System.out.println("Datum ist '"+dateForm1+"', und '"+dateForm2+"'");
  
    
  }
}


!!! Listing 7 (de.wartala.apache.commons.lang.Beispiel2):

package de.wartala.apache.commons.lang;

import org.apache.commons.lang.math.DoubleRange;

public class Beispiel2 {
  
  
  public static void main(String[] args) {
    double doubles[] = new double[2];
    doubles[0] = 3.0;
    doubles[1] = 1.0;
    
    DoubleRange doubleRange = new DoubleRange(0.1,2.0);
    
    for(int i = 0; i < doubles.length; i++) {
      if(doubleRange.containsDouble(doubles[i])) {
        System.out.println("Nummer '"+doubles[i]+"' ist im Bereich");
      } else {
        System.out.println("Nummer '"+doubles[i]+"' ist nicht im Bereich");
      }
    }
    
  }
}

!!! Listing 8 (de.wartala.apache.commons.lang.Beispiel3):

package de.wartala.apache.commons.lang;

import org.apache.commons.lang.StringUtils;

public class Beispiel3 {
  private static String TEXT1 = "Dies ist ein Beispieltext der einige der\n" +
      " Funktionalitäten des Jakarta Commons Klasse StringUtils \n" +
      "demonstrieren soll.\n\n";
  
  private static String TEXT2 = "<test>Dies ist ein Test</test>\n";
  private static String SUB1 = "der";
  
  public static void main(String[] args) {
    System.out.println("Beispieltext 1:");
    System.out.print(TEXT1);
    
    // countMathes()
    int numberOf = StringUtils.countMatches(TEXT1, SUB1);
    System.out.println("- Enthält "+numberOf+" mal '"+SUB1+"'\n");
    
    System.out.println("Beispieltext 2:");
    System.out.print(TEXT2);
    
    // substringBetween()
    String betweenText = StringUtils.substringBetween(TEXT2,"<test>","</test>");
    System.out.println("- Text zwischen den Tags ist '"+betweenText+"'");
    
    // replace()
    String replaced = StringUtils.replace(TEXT2, "test","test1");
    System.out.println("- 'test' durch 'test1' ersetzt: '"+replaced+"'\n");
  }
}


!!! Listing 9 (de.wartala.apache.commons.lang.Beispiel4):

package de.wartala.apache.commons.lang;

import org.apache.commons.lang.StringUtils;

public class Beispiel4 {
  
  public static void main(String[] args) {
    
    String meiers[] = {"Mayer","Meier","Mayer","Maier","Meyer","Schmidth"};
      
    // getLevenshteinDistance()
    for(int i = 0; i < meiers.length; i++) {
        for(int j = 1; j < meiers.length-1; j++) {
          int levenshteinDistance =  
		StringUtils.getLevenshteinDistance(meiers[i],meiers[j]);
          if(levenshteinDistance < 3) {
            System.out.println("'"+meiers[i]+"' und '"+meiers[j]+"' sind beides Meiers");
          } else {
            System.out.println("'"+meiers[i]+"' ist kein '"+meiers[j]+"'");
          }
        }
    }
  }
}

!!! Listing 10 (de.wartala.apache.commons.codec.Beispiel1):

package de.wartala.apache.commons.codec;

import org.apache.commons.codec.language.Soundex;

public class Beispiel1 {

  public static void main(String[] args) {
    String sCode[] = new String[2];
    String schmidts[] = { "Schmidt", "Schmitt", "Meier" ,"Mueller"};

    Soundex soundex = new Soundex();
    
    for (int i = 0; i < schmidts.length-1; i++) {
      int j = i + 1;
      
      sCode[0] = soundex.encode(schmidts[i]);
      sCode[1] = soundex.encode(schmidts[j]);

      if (sCode[0].equals(sCode[1])) {
        System.out.println("'" + sCode[0] + "' und '" + sCode[1]
            + "' sind beides Schmidts");
      } else {
        System.out.println("'" + sCode[0] + "' und '" + sCode[1] 
		+ "' sind nicht beides Schmidts");
      }
    }

  }
}


!!! Listing 11 (de.wartala.apache.commons.codec.Beispiel2):

package de.wartala.apache.commons.codec;

import org.apache.commons.codec.net.URLCodec;

public class Beispiel2 {

  public static void main(String[] args) throws Exception {
    URLCodec url = new URLCodec();
    String urlStr = url.encode("http://www.testurl.de/startMich?mit=10&mit=20");
    System.out.println(urlStr);
  }
}

!!! Listing 12 (de.wartala.apache.commons.codec.Beispiel3):

package de.wartala.apache.commons.codec;

import org.apache.commons.codec.digest.DigestUtils;

public class Beispiel3 {

  public static void main(String[] args) {
    String password = "eingeheimnis";
    String md5Coded = DigestUtils.md5Hex(password);
    System.out.println("'"+password+"' ist mit MD5 codiert '"+md5Coded+"'");
  }
}

!!! Listing 13 (de.wartala.apache.commons.httpclient.Beispiel1):

package de.wartala.apache.commons.httpclient;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;

public class Beispiel1 {

  public static void main(String[] args) throws Exception {
    HttpClient client = new HttpClient();
    
    GetMethod get = new GetMethod("http://www.heise.de/ix/");

       int status = client.executeMethod(get);
     
       System.out.println(status + "\n" + get.getResponseBodyAsString());

       get.releaseConnection();
  }
}


!!! Listing 14 (de.wartala.apache.commons.jxpath.Beispiel1):

package de.wartala.apache.commons.jxpath;

import org.apache.commons.jxpath.JXPathContext;

public class Beispiel1 {

  public static void main(String[] args) throws Exception {
    AdressenBean adressen = new AdressenBean();
    adressen.setFilename("adressen.xml");
    JXPathContext context = JXPathContext.newContext(adressen);
    String email = 
	(String) context.getValue("container/adressen/adresse[name='Wartala']/email");
    System.out.println("Ramon's EMail Adresse ist '"+email+"'");
  }
}

!!! Listing 15 (de.wartala.apache.commons.jxpath.AdressenBean):

package de.wartala.apache.commons.jxpath;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.Serializable;
import java.net.MalformedURLException;
import java.net.URL;

import org.apache.commons.jxpath.Container;
import org.apache.commons.jxpath.xml.DocumentContainer;

public class AdressenBean implements Serializable {

  private Container container = null;
  private String adressFilename = null;
  
  public AdressenBean() {
  }
  
  public void setFilename(String filename) {
    this.adressFilename = filename;
  }
  
    public Container getContainer() throws MalformedURLException, FileNotFoundException {
        if (container == null) {
            URL url = new File(this.adressFilename).toURL();
            container = new DocumentContainer(url, DocumentContainer.MODEL_DOM);
        }
        return container;
    }

}

!!! Listing 16 (de.wartala.apache.commons.fileupload.Beispiel1):

package de.wartala.apache.commons.fileupload;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;

public class Beispiel1 extends HttpServlet {

  protected void doGet(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
    doWork(req, res);
  }

  protected void doPost(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
    doWork(req, res);
  }

  private void doWork(HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {
    PrintWriter out = res.getWriter();
    out.println(req.toString());
    out.println("Seite wird geladen...");
    out.println(req.getContentType());
    out.println(req.getParameter("myText"));

    boolean isPart = FileUpload.isMultipartContent(req);
    out.println(isPart);
    if (isPart) {
      out.println("ist Multipart");
      DiskFileUpload upload = new DiskFileUpload();
      try {
        List items = upload.parseRequest(req);
        Iterator it = items.iterator();
        while (it.hasNext()) {
          FileItem item = (FileItem) it.next();
          if (!(item.isFormField())) {
            out.println("OK");
          }
        }
      } catch (FileUploadException e) {
        out.println(e.getMessage());
        out.println(e.getMessage());
      }
    } else {
      out.println("Datei nicht empfagen");
    }

    out.flush();
    out.close();
  }
}
