Grep in Java

Ich hab mal ein kleines Grep in Java geschrieben. Das Tool durchsucht im Moment nur eine einzelne Datei, aber vielleichtändere ich es ja noch. Den Quelltext gibt es im vollständigen Artikel oder unter http://wikihost.org/wikis/kopis/programm/gebo.prg?name=prog:grep.java – da natürlich auch wieder mit besserer Formatierung.

http://gist.github.com/615432

Nächstes Tool: Tail in Java

Tja, schon wieder ein neues kleines Tool: Ich hab gerade tail in Java nachgebaut.
Für alle, die unter Windows sowas ähnliches suchen. Den Quelltext gibt es im
vollständigen Artikel.

Als nächstes sind noch das Einlesen von STDIN geplant und die Angabe der
auszugebenden Bytes per Parameter. Vorschläge bitte wieder in die Kommentare.

Minimaler SQL-Client in Java

Ich hab gerade einen kleinen SQL-Client geschrieben, mit dem man einfach SQL-Statements gegen eine Datenbank absetzen kann. Falls jemand auf der Suche ist, bedient euch. Wer Verbesserungen hat, der kann sich gern in den Kommentaren zu Wort melden.

package com.basf.migration.region;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import com.csc.provider.DbmsProviderFactory;
import com.csc.provider.UnavailableException;

public class SimpleSqlClient {

  public SimpleSqlClient(String statement, String driver, String dburl, String username, String password) {
          Connection conn = null;
          try {
              Class.forName(driver);
        conn = DriverManager.getConnection(dburl, username, password);
        execute(conn, statement);
      } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      } finally {
        try {
          conn.close();
        } catch (SQLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        } catch(NullPointerException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }

private void execute(Connection conn, String statement) throws SQLException {

      Statement stmt = conn.createStatement();
      boolean executed = stmt.execute(statement);
      ResultSet result = stmt.getResultSet();
      for (int column = 1; column<= result.getMetaData().getColumnCount(); column++) {
        System.out.print(result.getMetaData().getColumnName(column) + "");
      }
      System.out.println();
while(result.next()) {
        for (int column = 1; column<= result.getMetaData().getColumnCount(); column++) {
          System.out.print(result.getObject(column) + "");
        }
        System.out.println();
      }
    }

public static void main(String[] args) {
      if(args == null || args.length != 5) {
        System.err.println("Usage:t" + SimpleSqlClient.class + " SQLSTATEMENT DRIVER_CLASSNAME DB_URL USERNAME PASSWORD");
        System.exit(-1);
      } else if(args.length == 5) {
        new SimpleSqlClient(args[0], args[1], args[2], args[3], args[4]);

    }
}