---
title: 'NIO.2 Umstellung. Mein Fazit (nach einem Tag)'
url: 'https://tutego.de/blog/javainsel/2011/08/nio-2-umstellung-mein-fazit-nach-einem-tag'
markdown: 'https://tutego.de/blog/javainsel/2011/08/nio-2-umstellung-mein-fazit-nach-einem-tag.md'
date: '2011-08-08'
description: 'Um zu testen, wie sich die neue NIO.2-Bibliothek so in der Praxis macht, habe ich unsere tutego-Software auf NIO.2 gebracht. Als erstes habe ich File durch Path/Paths/Files-Aufrufe ersetzt. Dabei sind mir schon ein paar Stellen aufgefallen, die ich gerne noch verbessert sehen würde für >= Java 8…'
taxonomy:
  category:
    - 'Java 7'
---

# NIO.2 Umstellung. Mein Fazit (nach einem Tag)

![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/)

## NIO.2 Umstellung. Mein Fazit (nach einem Tag)

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

Um zu testen, wie sich die neue NIO.2-Bibliothek so in der Praxis macht, habe ich unsere tutego-Software auf NIO.2 gebracht. Als erstes habe ich File durch Path/Paths/Files-Aufrufe ersetzt. Dabei sind mir schon ein paar Stellen aufgefallen, die ich gerne noch verbessert sehen würde für >= Java 8.

1. Von den File-Konstrukturen gibt es: File(**File** parent, `String` child) und File(**`String`** parent, `String` child). Es ist praktisch, dass der erste Teil entweder File oder `String` sein kann. Ich habe bei mir eine Menge von Aufrufen der Art new File(path, filename). Mal ist path ein `String`, mal ein File (in der Regel File). Bei der Konvertierung zu Path wird es ungemütlich, denn es gibt nur get(`String` first, `String`… more) aber kein get(**Path** first, `String`… more). Also läuft es auf ein `path.resove(child)` raus, was ich aber nicht so schön finde wie ein `get(path, child)`. Aber alles Geschmacksache.
2. File wird öfter als Parametertyp akzeptiert als Path. So muss ich schreiben: PrintWriter out = new PrintWriter( testimonalsPath.toFile() ); Schöner wäre ein Konstruktur PrintWriter(Path).
3. Die Methode `getFileName()` liefert keinen `String`, sondern ein Path-Objekt nur mit dem Dateinamen. Daher führt folgendes nicht zum Ziel: `path.getFileName()`.`endsWith`(".xml"). Und `path.getFileName().toString()``endsWith`(".xml") ist etwas lang.
4. `Files.readAllBytes()` ist zwar schön, aber `Files.readAllChars(Path,CharSet)` wäre auch nett.

Kategorien: [Java 7](https://tutego.de/blog/javainsel/category/java-7/)

## 1 Kommentare

**Chrstian** · [09.08.2011 23:10](#comment-3649)

Hatte vergessen, dass es noch StandardCharsets seit Java 7 mit Konstanten gibt!

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

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

---

## Navigation

- Previous: [Hintergründe zum Java 7 Bug](https://tutego.de/blog/javainsel/2011/08/hintergrnde-zum-java-7-bug.md)
- Next: [Eclipse 3.8M1 (mit funktionierendem Java 7 Support)](https://tutego.de/blog/javainsel/2011/08/eclipse-3-8m1-mit-funktionierendem-java-7-support.md)
