How to put files in a ZIP file with NIO.2

URI p = Paths.get( "c:/Users/Christian/Dropbox/jokes.zip" ).toUri(); URI uri = URI.create( "jar:" + p ); Map<String, String> env = new HashMap<>(); env.put( "create", "true" ); try ( FileSystem zipfs = FileSystems.newFileSystem( uri, env ) ) { Files.write( zipfs.getPath( "/j1.txt" ), "The truth is out there. Anybody got the URL?".getBytes() ); Files.write( zipfs.getPath( "/j2.txt" ), "The more […]

java.io.File und NIO.2-Path: wo beide zusammenpassen und wo nicht

Die Klasse File ist schon immer da gewesen und stark mit dem lokalen Dateisystem verbunden. So findet sich der Typ File weiterhin bei vielen Operationen. Wenn Runtime.exec(String[] cmdarray, String[] envp, File dir) einen Hintergrundprozess startet, dann ist dir genau das Startverzeichnis. Eine Abstraktion auf virtuelle Dateisysteme ist unpassend und File passt als Typ sehr gut. […]

Verzeichnisse nach Dateien iterativ durchsuchen (vor Java 7)

Bevor NIO.2 in Java 7 einen FileVisitor einführte, musste ein Verzeichnis inklusive aller Unterverzeichnisse selbst abgelaufen werden, um Dateien zu finden. Um das selbst zu realisieren helfen uns die Datenstrukturen und die list(…)-Methode von File. Dabei sollen Dateien gefunden werden, deren Dateinamen auf regulären Ausdrücken »matchen«. Ein List-Objekt speichert bereits gefundene Dateien, und ein Stack […]

Google Guava: Delete all files in a directory (now deprecated)

The java.io.File class can delete a file but not a collection of files or a whole directory including its containing files. com.google.common.io.Files declares two methods to do this job: static void deleteDirectoryContents(File directory) Delete all the files within a directory but not the directory itself. If the contents of this or any subdirectory can’t be […]

JavaOne 2010 beginnt heute und aktualisierte Java 7 Features

Die Liste der Features für Java 7 wurde aktualisiert: http://openjdk.java.net/projects/jdk7/features/. vm JSR 292: Support for dynamically-typed languages (InvokeDynamic) lang JSR TBD: Small language enhancements (Project Coin) [UPDATED] core Upgrade class-loader architecture Method to close a URLClassLoader Concurrency and collections updates (jsr166y) i18n Unicode 6.0 [UPDATED] Locale enhancement [NEW] Separate user locale and user-interface locale [NEW] […]

OpenJDK7 / JDK7 M4 Release

Die Ankündigung wurde unter http://blogs.sun.com/xiomara/entry/openjdk7_jdk7_release_milestone_4 gemacht. Interessant ist „For now JDK 7 is finally in sync with the JDK 6u14 updates.“ Dann wird es Zeit, dass jetzt mal die *wirklichen* Dinge implementiert werden und man nicht nur die Änderungen von Java 6 alle in Java 7 nachzieht. Bis auf NIO.2 ist hier noch nicht wirklich […]