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();
}
}
}