{"id":1062,"date":"2011-08-08T23:10:20","date_gmt":"2011-08-08T21:10:20","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/2011\/08\/nio-2-umstellung-mein-fazit-nach-einem-tag\/"},"modified":"2011-08-16T16:35:40","modified_gmt":"2011-08-16T14:35:40","slug":"nio-2-umstellung-mein-fazit-nach-einem-tag","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2011\/08\/nio-2-umstellung-mein-fazit-nach-einem-tag\/","title":{"rendered":"NIO.2 Umstellung. Mein Fazit (nach einem Tag)"},"content":{"rendered":"<p>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\u00fcrde f\u00fcr &gt;= Java 8.<\/p>\n<ol>\n<li>Von den File-Konstrukturen gibt es: File(<strong>File<\/strong> parent, String child) und File(<strong>String<\/strong> 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\u00fctlich, denn es gibt nur get(String first, String&#8230; more) aber kein get(<strong>Path<\/strong> first, String&#8230; more). Also l\u00e4uft es auf ein path.resove(child) raus, was ich aber nicht so sch\u00f6n finde wie ein get(path, child). Aber alles Geschmacksache. <\/li>\n<li>File wird \u00f6fter als Parametertyp akzeptiert als Path. So muss ich schreiben:      <br \/><font face=\"Consolas\">PrintWriter out = new PrintWriter( testimonalsPath.toFile() );        <br \/><\/font>Sch\u00f6ner w\u00e4re ein Konstruktur PrintWriter(Path). <\/li>\n<li>Die Methode getFileName() liefert keinen String, sondern ein Path-Objekt nur mit dem Dateinamen. Daher f\u00fchrt folgendes nicht zum Ziel: path.getFileName().endsWith(&quot;.xml&quot;). Und path.getFileName().toString()endsWith(&quot;.xml&quot;) ist etwas lang.<\/li>\n<li>Files.readAllBytes() ist zwar sch\u00f6n, aber Files.readAllChars(Path,CharSet) w\u00e4re auch nett.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>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\u00fcrde f\u00fcr &gt;= Java 8. Von den File-Konstrukturen gibt es: File(File parent, String [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[5],"tags":[],"class_list":["post-1062","post","type-post","status-publish","format-standard","hentry","category-java-7"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=1062"}],"version-history":[{"count":5,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1062\/revisions"}],"predecessor-version":[{"id":1079,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1062\/revisions\/1079"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}