Dateien relativ zur aktuellen Klasse adressieren

Eine der Sachen, die ich mir nie merken kann: Wie adressiere ich eine Datei (z.B. Properties), die neben der zugehörigen Klasse im Paket liegt? Die Meta-Klasse der Klasse enthält den gesuchten Pfad:

final File file = 
    new File( MyClass.class.getResource( "myfile" ).getPath() );

Textdatei in String lesen

Will man eine solche Datei lesen und in einen String schreiben, helfen Apaches FileUtils:

public String getFileContent( final String fileName ) {
    final File file = new File( MyClass.class.getResource( fileName ).getPath() );
    try {
        return FileUtils.readFileToString( file );
    } catch ( final IOException e ) {
        throw new RuntimeException( "Cannot find file: " + file.getAbsolutePath(), e );
    }
}

2 Kommentare

  1. Interessant. Aber ich denke mal, dass „fileName“ in der zweiten Zeile ohne Anführungszeichen stehen soll, oder?

Kommentare sind geschlossen.