Example usage for org.apache.commons.io FileUtils openOutputStream

List of usage examples for org.apache.commons.io FileUtils openOutputStream

Introduction

In this page you can find the example usage for org.apache.commons.io FileUtils openOutputStream.

Prototype

public static FileOutputStream openOutputStream(File file) throws IOException 

Source Link

Document

Opens a FileOutputStream for the specified file, checking and creating the parent directory if it does not exist.

Usage

From source file:org.gluu.oxtrust.ldap.service.Shibboleth3ConfService.java

public String saveProfileConfigurationCert(String profileConfigurationCertFileName, InputStream stream) {
    //TODO: change for IDP3
    if (applicationConfiguration.getShibboleth2IdpRootDir() == null) {
        IOUtils.closeQuietly(stream);/*  w w w.  j a v  a2  s . c  o m*/
        throw new InvalidConfigurationException(
                "Failed to save Profile Configuration file due to undefined IDP root folder");
    }

    String idpMetadataFolder = applicationConfiguration.getShibboleth2IdpRootDir() + File.separator
            + SHIB3_IDP_METADATA_FOLDER + File.separator + "credentials" + File.separator;
    File filterCertFile = new File(idpMetadataFolder + profileConfigurationCertFileName);

    FileOutputStream os = null;
    try {
        os = FileUtils.openOutputStream(filterCertFile);
        IOUtils.copy(stream, os);
        os.flush();
    } catch (IOException ex) {
        log.error("Failed to write  Profile Configuration  certificate file '{0}'", ex, filterCertFile);
        return null;
    } finally {
        IOUtils.closeQuietly(os);
        IOUtils.closeQuietly(stream);
    }

    return filterCertFile.getAbsolutePath();

}

From source file:org.gluu.oxtrust.ldap.service.Shibboleth3ConfService.java

public boolean saveMetadataFile(String metadataFileName, InputStream stream) {
    //TODO: change for IDP3
    if (applicationConfiguration.getShibboleth2FederationRootDir() == null) {
        IOUtils.closeQuietly(stream);/*from ww w . ja va 2 s. c o  m*/
        throw new InvalidConfigurationException(
                "Failed to save meta-data file due to undefined federation root folder");
    }

    String idpMetadataFolderName = applicationConfiguration.getShibboleth2FederationRootDir() + File.separator
            + SHIB3_IDP_METADATA_FOLDER + File.separator;
    File idpMetadataFolder = new File(idpMetadataFolderName);
    if (!idpMetadataFolder.exists()) {
        idpMetadataFolder.mkdirs();
    }
    File spMetadataFile = new File(idpMetadataFolderName + metadataFileName);

    FileOutputStream os = null;
    try {
        os = FileUtils.openOutputStream(spMetadataFile);
        IOUtils.copy(stream, os);
        os.flush();
    } catch (IOException ex) {
        log.error("Failed to write meta-data file '{0}'", ex, spMetadataFile);
        return false;
    } finally {
        IOUtils.closeQuietly(os);
        IOUtils.closeQuietly(stream);
    }

    return true;
}

From source file:org.gradle.api.plugins.buildcomparison.gradle.CompareGradleBuilds.java

private void writeReport(BuildComparisonResult result,
        DefaultBuildOutcomeComparisonResultRendererFactory<HtmlRenderContext> renderers) {
    File reportDir = getReportDir();
    if (reportDir.exists() && reportDir.list().length > 0) {
        GFileUtils.cleanDirectory(reportDir);
    }//from w  ww. j av  a  2s .  c o m

    fileStore.moveFilestore(getFileStoreDir());

    OutputStream outputStream;
    Writer writer;

    try {
        outputStream = FileUtils.openOutputStream(getReportFile());
        writer = new OutputStreamWriter(outputStream, Charset.defaultCharset());
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }

    try {
        createResultRenderer(renderers).render(result, writer);
    } finally {
        IOUtils.closeQuietly(writer);
        IOUtils.closeQuietly(outputStream);
    }
}

From source file:org.gradle.api.plugins.buildcomparison.gradle.internal.GradleBuildComparison.java

private void writeReport(BuildComparisonResult result, File reportDir, FileStore<String> fileStore,
        Map<String, String> hostAttributes) {
    if (reportDir.exists() && reportDir.list().length > 0) {
        GFileUtils.cleanDirectory(reportDir);
    }//from   w  w  w.  ja  v a  2s. c o m

    fileStore.moveFilestore(new File(reportDir, FILES_DIR_NAME));

    Charset encoding = Charset.defaultCharset();
    OutputStream outputStream;
    Writer writer;

    try {
        outputStream = FileUtils.openOutputStream(new File(reportDir, HTML_REPORT_FILE_NAME));
        writer = new OutputStreamWriter(outputStream, encoding);
    } catch (IOException e) {
        throw new UncheckedIOException(e);
    }

    try {
        createResultRenderer(encoding, reportDir, hostAttributes).render(result, writer);
    } finally {
        IOUtils.closeQuietly(writer);
        IOUtils.closeQuietly(outputStream);
    }
}

From source file:org.h819.commons.file.MyPDFUtilss.java

/**
 * http://www.javabeat.net/javascript-in-pdf-documents-using-itext/
 * http://www.javabeat.net/javascript-communication-between-html-and-pdf-in-itext/
 *  PDF  field  javaScript//w  ww . j a  va  2s  .  c  o m
 * <p>
 * pdf ? javaScript?????
 * <p>
 * javaScript ?? filed  filed javaScript ???
 * <p>
 * ?? javaScript 
 * <p>
 *  itext  reader.getJavaScript()? pdf  JavaScript??(adobe pro
 * ????)
 * <p>
 * ??? field ??
 *
 * @param srcPdfFileDir   ?
 * @param descPdfFileDir  
 * @param removeFieldName  javaScript ???
 * @throws java.io.IOException
 */
public static void removeFieldJavaScript(File srcPdfFileDir, File descPdfFileDir, String removeFieldName)
        throws IOException {

    if (!srcPdfFileDir.isDirectory()) {
        logger.info("srcPdfFileDir is not a Directory: " + srcPdfFileDir.getAbsolutePath());
        return;
    }

    File listFiles[] = srcPdfFileDir.listFiles();

    if (listFiles.length == 0) {
        logger.info("srcPdfFileDir has not file. " + srcPdfFileDir.getAbsolutePath());
        return;
    }

    FileUtils.forceMkdir(descPdfFileDir);

    // ??

    // 
    long prefixDiskFreeSize = descPdfFileDir.getFreeSpace();
    // ??
    long srcSize = FileUtils.sizeOf(srcPdfFileDir);

    logger.info(descPdfFileDir.getAbsolutePath() + " " + prefixDiskFreeSize / 1000000.00
            + " M");
    logger.info(srcPdfFileDir.getAbsolutePath() + " ? :" + srcSize / 1000000.00 + " M");

    if (prefixDiskFreeSize < srcSize) {

        logger.info(FilenameUtils.getPrefix(descPdfFileDir.getAbsolutePath()) + " has not enoght disk size .");

        return;
    }

    // logger.info(descPdfFileDir.getAbsolutePath());

    for (File f : listFiles) {
        String fileName = f.getName();
        String extensiion = FilenameUtils.getExtension(fileName).toLowerCase();

        PdfReader reader = null;

        PdfStamper stamper = null;

        if (f.isFile()) {
            if (extensiion.equals("pdf")) {

                reader = getPdfReader(f);

                File fileDesc = new File(descPdfFileDir.getAbsolutePath() + File.separator + fileName);

                try {
                    stamper = new PdfStamper(reader, FileUtils.openOutputStream(fileDesc));

                    /**
                     * ???
                     * **/
                    // reader.removeFields();

                    /**
                     * ??? javaScript ?
                     * **/
                    AcroFields form = stamper.getAcroFields();
                    form.removeField(removeFieldName);

                    stamper.close();
                    reader.close();

                } catch (DocumentException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

            } else
                continue;

        } // end if f.isFile

        else if (f.isDirectory()) {
            removeFieldJavaScript(f, new File(descPdfFileDir.getAbsolutePath() + File.separator + fileName),
                    removeFieldName);
        } // end if f.isDirectory
        else
            continue;

    } // end for

    logger.info("finished !");
}

From source file:org.jahia.services.templates.ModuleBuildHelper.java

private boolean saveFile(InputStream source, File target) throws IOException {
    Charset transCodeTarget = null;
    if (target.getParentFile().getName().equals("resources") && target.getName().endsWith(".properties")) {
        transCodeTarget = Charsets.ISO_8859_1;
    }/*from w ww  . j  a  va 2 s .c  o m*/

    if (!target.exists()) {
        if (!target.getParentFile().exists() && !target.getParentFile().mkdirs()) {
            throw new IOException("Unable to create path for: " + target.getParentFile());
        }
        if (target.getParentFile().isFile()) {
            target.getParentFile().delete();
            target.getParentFile().mkdirs();
        }
        if (transCodeTarget != null) {
            FileUtils.writeLines(target, transCodeTarget.name(),
                    convertToNativeEncoding(IOUtils.readLines(source, Charsets.UTF_8), transCodeTarget), "\n");
        } else {
            FileOutputStream output = FileUtils.openOutputStream(target);
            try {
                IOUtils.copy(source, output);
                output.close();
            } finally {
                IOUtils.closeQuietly(output);
            }
        }

        // Save repository.xml file after first generation
        if (target.getName().equals("repository.xml")) {
            FileUtils.copyFile(target, new File(target.getPath() + ".generated"));
        }

        return true;
    } else {
        List<String> targetContent = FileUtils.readLines(target,
                transCodeTarget != null ? transCodeTarget : Charsets.UTF_8);
        if (!isBinary(targetContent)) {
            File previouslyGenerated = new File(target.getPath() + ".generated");
            List<String> previouslyGeneratedContent = targetContent;
            if (previouslyGenerated.exists()) {
                previouslyGeneratedContent = FileUtils.readLines(previouslyGenerated,
                        transCodeTarget != null ? transCodeTarget : Charsets.UTF_8);
            }
            DiffMatchPatch dmp = new DiffMatchPatch();
            List<String> sourceContent = IOUtils.readLines(source, Charsets.UTF_8);
            if (transCodeTarget != null) {
                sourceContent = convertToNativeEncoding(sourceContent, transCodeTarget);
            }

            LinkedList<DiffMatchPatch.Patch> l = dmp.patch_make(
                    StringUtils.join(previouslyGeneratedContent, "\n"), StringUtils.join(sourceContent, "\n"));

            if (target.getName().equals("repository.xml")) {
                // Keep generated file uptodate
                FileUtils.writeLines(new File(target.getPath() + ".generated"),
                        transCodeTarget != null ? transCodeTarget.name() : "UTF-8", sourceContent);
            }

            if (!l.isEmpty()) {
                Object[] objects = dmp.patch_apply(l, StringUtils.join(targetContent, "\n"));

                for (boolean b : ((boolean[]) objects[1])) {
                    if (!b) {
                        throw new IOException("Cannot apply modification on " + target.getName()
                                + ", check generated file at : " + target.getPath() + ".generated");
                    }
                }
                FileUtils.write(target, (CharSequence) objects[0],
                        transCodeTarget != null ? transCodeTarget.name() : "UTF-8");
                return true;
            }
        } else {
            byte[] sourceArray = IOUtils.toByteArray(source);
            FileInputStream input = new FileInputStream(target);
            FileOutputStream output = null;
            try {
                byte[] targetArray = IOUtils.toByteArray(input);
                if (!Arrays.equals(sourceArray, targetArray)) {
                    output = new FileOutputStream(target);
                    IOUtils.write(sourceArray, output);
                    return true;
                }
            } finally {
                IOUtils.closeQuietly(input);
                IOUtils.closeQuietly(output);
            }
        }
    }
    return false;
}

From source file:org.jahia.utils.zip.legacy.LegacyZipFormatConverter.java

private static void copyToFile(InputStream source, File destination) throws IOException {
    FileOutputStream output = FileUtils.openOutputStream(destination);
    try {//from  w w w  . j  av a2  s .c o  m
        IOUtils.copy(source, output);
        output.close();
    } finally {
        IOUtils.closeQuietly(output);
    }
}

From source file:org.jamwiki.parser.image.ImageProcessor.java

/**
 * Save an image to a specified file./*www  . j av  a 2 s  . c  o m*/
 */
protected static void saveImage(BufferedImage image, File file) throws IOException {
    String filename = file.getName();
    int pos = filename.lastIndexOf('.');
    if (pos == -1 || (pos + 1) >= filename.length()) {
        throw new IOException("Unknown image file type " + filename);
    }
    String imageType = filename.substring(pos + 1);
    File imageFile = new File(file.getParent(), filename);
    // use a FileOutputStream and make sure it gets closed to prevent unclosed file
    // errors on some operating systems
    FileOutputStream fos = null;
    try {
        // use the FileUtils utility method to ensure parent directories are created
        // if necessary
        fos = FileUtils.openOutputStream(imageFile);
        boolean result = ImageIO.write(image, imageType, fos);
        if (!result) {
            throw new IOException("No appropriate writer found when writing image: " + filename);
        }
    } finally {
        IOUtils.closeQuietly(fos);
    }
}

From source file:org.javaan.bytecode.JarFileLoader.java

private void processJar(String path, InputStream input, List<Type> classes) throws IOException {
    File file = File.createTempFile(new Random().nextLong() + "", ".jar");
    OutputStream output = FileUtils.openOutputStream(file);
    try {//www.  j  ava  2s  .  c om
        IOUtils.copy(input, output);
    } finally {
        output.close();
    }
    try {
        processJar(path, file.getAbsolutePath(), new JarFile(file), classes);
    } finally {
        file.delete();
    }
}

From source file:org.jitsi.meet.test.base.Participant.java

/**
 * Saves the html source of the supplied page.
 * @param outputDir the output directory.
 * @param fileName the destination html file name.
 *///w w w. j  av a 2  s  .  c o  m
public void saveHtmlSource(File outputDir, String fileName) {
    try (FileOutputStream fOut = FileUtils.openOutputStream(new File(outputDir, fileName))) {
        fOut.write(driver.getPageSource().replace(">", ">\n").getBytes());
    } catch (Exception e) {
        e.printStackTrace();
    }
}