示例#1
0
  private void extractFile(String relativeClasspath) throws IOException {
    InputStream resourceStream = this.getClass().getResourceAsStream(relativeClasspath);
    if (resourceStream == null) {
      rootDoc.printWarning("Cannot found internal resource \"" + relativeClasspath + "\"");
    }
    rootDoc.printNotice("Extracting resource \"" + relativeClasspath + "\"...");
    File outputFile = new File(this.outputDir, relativeClasspath);
    File directory = outputFile.getParentFile();
    if (!directory.isDirectory()) {
      rootDoc.printWarning("Cannot write file \"" + outputFile.getAbsolutePath() + "\"");
      return;
    }
    if (!directory.exists() && !directory.mkdirs()) {
      rootDoc.printWarning("Cannot create directory \"" + directory.getAbsolutePath() + "\n");
      return;
    }

    FileOutputStream fileOutputStream = new FileOutputStream(outputFile);
    try {
      byte[] buffer = new byte[512];
      int nbRead = 0;
      while ((nbRead = resourceStream.read(buffer)) != -1) {
        fileOutputStream.write(buffer, 0, nbRead);
      }
    } finally {
      fileOutputStream.close();
    }
  }
示例#2
0
 protected void printWarning(Exception e) {
   root.printWarning(e.getMessage());
 }