package gsingh.learnkirtan.installer; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.io.IOUtils; public class SoundBankInstaller { /** * Installs the soundbank file in the JRE lib/audio folder * * @return - true if file is present or was installed correctly. False if * there was an error. */ public boolean installSoundBank() { // Get the JRE directory String jreDir = System.getProperty("java.home"); // Check if the SoundBank is already installed File soundBank = new File(String.format(jreDir + "%1$slib%1$saudio%1$ssoundbank.gm", File.separator)); File soundBankMin = new File(String.format(jreDir + "%1$slib%1$saudio%1$ssoundbank-min.gm", File.separator)); // If neither version of soundbank exists, install the min version if (!soundBank.exists() && !soundBankMin.exists()) { InputStream is = this.getClass().getClassLoader() .getResourceAsStream("soundbank-min.gm"); OutputStream os = null; try { os = new FileOutputStream(soundBank.getAbsolutePath()); IOUtils.copy(is, os); } catch (IOException e) { e.printStackTrace(); return false; } } return true; } }