---
title: 'Inselraus: Ein LowerCaseWriter'
url: 'https://tutego.de/blog/javainsel/2017/10/inselraus-ein-lowercasewriter'
markdown: 'https://tutego.de/blog/javainsel/2017/10/inselraus-ein-lowercasewriter.md'
date: '2017-10-24'
description: 'Wir wollen im Folgenden einen Filter schreiben, der alle in den Strom geschriebenen Zeichen in Kleinbuchstaben umwandelt. Drei Dinge sind für einen eigenen FilterWriter nötig: Die Klasse leitet sich von FilterWriter Unser Konstruktor nimmt als Parameter ein Writer-Objekt und ruft mit super(out) de…'
taxonomy:
  category:
    - Allgemein
---

# Inselraus: Ein LowerCaseWriter

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://tutego.de/blog/javainsel/)

## Inselraus: Ein LowerCaseWriter

24.10.2017 · [Christian Ullenboom](https://tutego.de/blog/javainsel/author/admin/)

Wir wollen im Folgenden einen Filter schreiben, der alle in den Strom geschriebenen Zeichen in Kleinbuchstaben umwandelt. Drei Dinge sind für einen eigenen FilterWriter nötig:

- Die Klasse leitet sich von FilterWriter
- Unser Konstruktor nimmt als Parameter ein `Writer`-Objekt und ruft mit `super(out)` den Konstruktor der Oberklasse auf, also FilterWriter. Die Oberklasse speichert das übergebene Argument in der geschützten Objektvariablen out, sodass die Unterklassen darauf zugreifen können.
- Wir überlagern die drei `write(…)`-Methoden und eventuell noch `close()` und `flush()`. Unsere `write(…)`-Methoden führen dann die Filteroperationen aus und geben die wahren Daten an den `Writer`

```java
class LowerCaseWriter extends FilterWriter {

   public LowerCaseWriter( Writer writer ) {
     super( writer );
   }

   @Override
   public void write( int c ) throws IOException {
     out.write( Character.toLowerCase((char)c) );
   }

   @Override
   public void write( char[] cbuf, int off, int len ) throws IOException {
     write( String.valueOf( cbuf ), off, len );
   }

   @Override
   public void write( String s, int off, int len ) throws IOException {
     out.write( s.toLowerCase(), off, len );
   }
 }
```

Und die Nutzung sieht dann so aus:

```java
StringWriter sw = new StringWriter();
PrintWriter  pw = new PrintWriter( new LowerCaseWriter( sw ) );
pw.println( "Eine Zeile für klein und groß" );
System.out.println( sw.toString() );
```

Kategorien: [Allgemein](https://tutego.de/blog/javainsel/category/allgemein/)

[← Alle Beiträge](https://tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Module entwickeln und einbinden](https://tutego.de/blog/javainsel/2017/10/module-entwickeln-und-einbinden.md)
- Next: [Inselraus: Anwendungen für FilterReader und FilterWriter](https://tutego.de/blog/javainsel/2017/10/inselraus-anwendungen-fuer-filterreader-und-filterwriter.md)
