Cargando archivos con ClassLoader

Este problema me ha estado molestando por un tiempo. Tengo que cargar un par de archivos en mi aplicación java, y la única forma en la que trabajé hasta ahora es la siguiente:

URL hsURL;
if(System.getProperty("os.name").toLowerCase().contains("windows")) {
    hsURL = new URL("file:/" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
else {
    hsURL = new URL("file://" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}

Pero esto es feo y terrible. Por un tiempo pensé que tenía este trabajo:

hsURL = ClassLoader.getSystemResource("helpsets/helpset.hs");

Pero eso ya no funciona por alguna razón (debo haber cambiado algo y no haberlo notado. Devuelve nulo.

¿Debo usar getResource () en lugar de getSystemResource () (si es así, por qué es getSystemResource () estático pero no getResource ())?

Estoy usando eclipse y he intentado incluir la carpeta en la ruta de compilación (classpath) y no incluirla, no parece hacer una diferencia.

Respuestas a la pregunta(2)

Su respuesta a la pregunta