private void copyResource()

in src/main/java/org/apache/sling/maven/kickstart/run/KickstartEnvironment.java [108:140]


    private void copyResource(final String resource,
            final File dir)
    throws IOException {
        final int lastSlash = resource.lastIndexOf('/');
        final File baseDir;
        if ( lastSlash > 0 ) {
            final String filePath = resource.substring(0, lastSlash).replace('/', File.separatorChar);
            baseDir = new File(dir, filePath);
        } else {
            baseDir = dir;
        }
        baseDir.mkdirs();
        final File file = new File(baseDir, resource.substring(lastSlash + 1));
        final InputStream is = KickstartEnvironment.class.getClassLoader().getResourceAsStream(resource);
        if ( is == null ) {
            throw new IOException("Resource not found: " + resource);
        }
        final FileOutputStream fos = new FileOutputStream(file);
        final byte[] buffer = new byte[2048];
        int l;
        try {
            while ( (l = is.read(buffer)) > 0 ) {
                fos.write(buffer, 0, l);
            }
        } finally {
            if ( fos != null ) {
                fos.close();
            }
            if ( is != null ) {
                is.close();
            }
        }
    }