Example usage for org.apache.commons.io FilenameUtils isExtension

List of usage examples for org.apache.commons.io FilenameUtils isExtension

Introduction

In this page you can find the example usage for org.apache.commons.io FilenameUtils isExtension.

Prototype

public static boolean isExtension(String filename, Collection<String> extensions) 

Source Link

Document

Checks whether the extension of the filename is one of those specified.

Usage

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

/**
 * ??/*from   w  w  w  . ja  v a  2s.c  o m*/
 * ?
 *
 * @param srcFile       ??
 * @param descDirectory ??
 * @param charset       ???? StandardCharsets.UTF_8
 */
// ??utf-8 ??? asc ?
// gb2312  utf-8 ??

// ? "windows "????
public static void convertEncoding(File srcFile, File descDirectory, Charset charset) {

    // ?
    String[] extension = { "java", "html", "htm", "php", "ini", "bat", "css", "txt", "js", "jsp", "xml", "sql",
            "properties" };
    if (!descDirectory.exists()) {
        descDirectory.mkdir();
    }

    if (srcFile.isFile()) {
        if (FilenameUtils.isExtension(srcFile.getName().toLowerCase(), extension)) {
            try {
                String encodingSrc = MyFileUtils.getEncoding(srcFile).name();
                // logger.info(encodingSrc);
                InputStreamReader in = new InputStreamReader(new FileInputStream(srcFile), encodingSrc);
                File f = new File(descDirectory + File.separator + srcFile.getName());
                OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(f), charset.name());
                IOUtils.copy(in, out);
                IOUtils.closeQuietly(in);
                IOUtils.closeQuietly(out);
                // logger.info(MyFileUtils.getDetectedEncoding(f).name());
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    } else if (srcFile.isDirectory()) {

        File fs[] = srcFile.listFiles();
        for (File f : fs)
            convertEncoding(f, new File(descDirectory + File.separator + srcFile.getName()), charset);
    } else {
        logger.info("wrong file type :" + srcFile.getAbsolutePath());
    }

}

From source file:org.itstechupnorth.walrus.text.GutenburgParser.java

private Reader open() throws IOException, ZipException, FileNotFoundException, UnsupportedEncodingException {
    final Reader reader;
    final InputStream input;
    if (FilenameUtils.isExtension(file.getName(), ZIP)) {
        try {//from  w ww. j a  v  a 2 s.c  o m
            final ZipFile zip = new ZipFile(file);
            input = zip.getInputStream((ZipArchiveEntry) zip.getEntries().nextElement());
        } catch (IllegalArgumentException e) {
            throw new RuntimeWarningException(e.getMessage() + "(" + file + ")", e);
        }
    } else {
        input = new FileInputStream(file);
    }
    reader = new InputStreamReader(new BufferedInputStream(input), "UTF-8");
    return reader;
}

From source file:org.jahia.modules.modulemanager.flow.ModuleManagementFlowHandler.java

public boolean uploadModule(MultipartFile moduleFile, MessageContext context, boolean forceUpdate,
        boolean autoStart) {
    if (moduleFile == null) {
        context.addMessage(new MessageBuilder().error().source("moduleFile")
                .code("serverSettings.manageModules.install.moduleFileRequired").build());
        return false;
    }//from  w  ww .  j  av  a2s.c o  m
    String originalFilename = moduleFile.getOriginalFilename();
    if (!FilenameUtils.isExtension(StringUtils.lowerCase(originalFilename), "jar")) {
        context.addMessage(new MessageBuilder().error().source("moduleFile")
                .code("serverSettings.manageModules.install.wrongFormat").build());
        return false;
    }
    File file = null;
    try {
        file = File.createTempFile("module-", "." + StringUtils.substringAfterLast(originalFilename, "."));
        moduleFile.transferTo(file);
        installBundles(file, context, originalFilename, forceUpdate, autoStart);
        return true;
    } catch (Exception e) {
        context.addMessage(new MessageBuilder().source("moduleFile")
                .code("serverSettings.manageModules.install.failed").arg(e.getMessage()).error().build());
        logger.error(e.getMessage(), e);
    } finally {
        FileUtils.deleteQuietly(file);
    }
    return false;
}

From source file:org.jenkinsci.plugins.fortifycloudscan.RulepackResolver.java

/**
 * Determines if the specified file is a ZIP archive
 * @param file the file to check// w ww  .j  a v  a  2  s .  co m
 * @return true if file is a ZIP archive, false if not
 */
private boolean isArchive(File file) {
    String filename = FilenameUtils.getName(file.getAbsolutePath());
    return FilenameUtils.isExtension(filename, "zip");
}

From source file:org.jevis.commons.drivermanagment.ClassImporter.java

public void importFiles(List<File> files) {
    //        System.out.println("Import Files:");
    //        for (File f : files) {
    //            System.out.println("File: " + f.getName());
    //        }//from   www.j a v  a 2s  .  c om

    List<JsonJEVisClass> classes = new ArrayList<>();
    //        List<JsonRelationship> rel = new ArrayList<>();
    List<File> icons = new ArrayList<>();
    List<File> relationshipsFiles = new ArrayList<>();

    for (File file : files) {
        try {
            //                System.out.println("FilenameUtils: " + FilenameUtils.getExtension(file.getName()));
            //                System.out.println("Import File: " + file);
            //                System.out.println("Parent1: " + file.getParentFile().getName());
            //                System.out.println("Parent2: " + file.getParent());

            if (file.getParentFile() != null) {

                switch (file.getParentFile().getName()) {

                case ClassExporter.DIR_CLASSES:
                    //                            System.out.println("is Class dir");
                    //                            for (File subFiles : file.listFiles()) {
                    if (FilenameUtils.isExtension(file.getName(), "json")) {
                        //                                System.out.println("Classjoin: " + file);
                        classes.add(importClass(file));
                    }
                    //                            }
                    break;
                case ClassExporter.DIR_ICONS:
                    //                            System.out.println("is File");
                    //                            for (File subFiles : file.listFiles()) {
                    if (FilenameUtils.isExtension(file.getName(), "png")) {
                        icons.add(file);
                    }
                    //                            }
                    break;
                case ClassExporter.DIR_RELATIONSHIPS:
                    //                            System.out.println("is Relationship");
                    //                            for (File subFiles : file.listFiles()) {
                    if (FilenameUtils.isExtension(file.getName(), "json")) {
                        relationshipsFiles.add(file);
                    }
                    //                            }
                    break;
                default:
                    break;
                }

            }

        } catch (FileNotFoundException ex) {
            Logger.getLogger(ClassImporter.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    List<JEVisClass> newClasses = new ArrayList<>();
    List<JsonJEVisClass> faildClasses = new ArrayList<>();
    System.out.println("\n###### Build Class ######");
    for (JsonJEVisClass myclass : classes) {
        //            System.out.println("\n[Build Class]: " + myclass.getName() + "\n\t " + myclass);
        try {
            newClasses.add(buildClass(myclass, getIconForClass(myclass.getName(), icons)));

        } catch (JEVisException ex) {
            faildClasses.add(myclass);

            System.out.println("-->[ERROR] Cound not build class: " + myclass.getName());
            ex.printStackTrace();

            //                Logger.getLogger(ClassImporter.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    //        System.out.println("Created JEVisClasses:");
    //        for (JEVisClass okclass : newClasses) {
    //            try {
    //                System.out.println("--> " + okclass.getName());
    //            } catch (Exception ex) {
    //
    //            }
    //        }
    if (!faildClasses.isEmpty()) {
        System.out.println("\nJEVisClasses which are not created");
        for (JsonJEVisClass fail : faildClasses) {
            try {
                System.out.println("--> " + fail);
            } catch (Exception ex) {

            }
        }
    }

    if (!relationshipsFiles.isEmpty()) {
        for (File relFile : relationshipsFiles) {
            try {
                BufferedReader br = new BufferedReader(new FileReader(relFile));
                Gson gson = new Gson();
                List<JsonRelationship> jRel = gson.fromJson(br, new TypeToken<List<JsonRelationship>>() {
                }.getType());
                List<JEVisClassRelationship> newRelationships = buildRelationship(jRel);
            } catch (Exception ex) {
                System.out.println("-->[ERROR] Error while building Relationships: " + ex);
            }
        }

    }

}

From source file:org.kalypso.ui.wizard.raster.ImportRasterSourceWizard.java

private IFile getGmlFile() {
    final IPath containerFullPath = m_gmlFilePage.getContainerFullPath();
    String fileName = m_gmlFilePage.getFileName();
    if (!FilenameUtils.isExtension(fileName.toLowerCase(), "gml")) //$NON-NLS-1$
        fileName += ".gml"; //$NON-NLS-1$

    final IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    final IResource folder = root.findMember(containerFullPath);
    if (folder instanceof IContainer) {
        final IContainer container = (IContainer) folder;
        return container.getFile(new Path(fileName));
    }//from w w w.ja v  a  2  s.  c o  m

    // TODO: error handling
    return null;
}

From source file:org.mule.devkit.maven.MashapeGeneratorMojo.java

private void traverse(final File f) throws IOException, MojoExecutionException {
    final File[] childs = f.listFiles();
    if (childs != null) {
        for (File child : childs) {
            if (child.isDirectory()) {
                traverse(child);/*from  w w  w  .  j  av  a 2 s  .co m*/
            } else if (FilenameUtils.isExtension(child.getAbsolutePath(), "mashape")) {
                generateMashapeClient(child);
            }
        }
    }
}

From source file:org.ngrinder.common.util.CompressionUtil.java

/**
 * Untar an input file into an output file.
 * //  ww  w . j a  va  2 s  . co  m
 * The output file is created in the output folder, having the same name as the input file,
 * minus the '.tar' extension.
 * 
 * @param inFile
 *            the input .tar file
 * @param outputDir
 *            the output directory file.
 * @throws IOException
 * @throws FileNotFoundException
 * 
 * @return The {@link List} of {@link File}s with the untared content.
 * @throws ArchiveException
 */
public static List<File> untar(final File inFile, final File outputDir) {
    final List<File> untaredFiles = new LinkedList<File>();
    try {
        final InputStream is = new FileInputStream(inFile);
        final TarArchiveInputStream debInputStream = (TarArchiveInputStream) new ArchiveStreamFactory()
                .createArchiveInputStream("tar", is);
        TarArchiveEntry entry = null;
        while ((entry = (TarArchiveEntry) debInputStream.getNextEntry()) != null) {
            final File outputFile = new File(outputDir, entry.getName());
            if (entry.isDirectory()) {
                if (!outputFile.exists()) {
                    if (!outputFile.mkdirs()) {
                        throw new IllegalStateException(
                                String.format("Couldn't create directory %s.", outputFile.getAbsolutePath()));
                    }
                }
            } else {
                File parentFile = outputFile.getParentFile();
                if (!parentFile.exists()) {
                    parentFile.mkdirs();
                }
                final OutputStream outputFileStream = new FileOutputStream(outputFile);

                IOUtils.copy(debInputStream, outputFileStream);
                outputFileStream.close();
                if (FilenameUtils.isExtension(outputFile.getName(), EXECUTABLE_EXTENSION)) {
                    outputFile.setExecutable(true, true);
                }
                outputFile.setReadable(true);
                outputFile.setWritable(true, true);
            }
            untaredFiles.add(outputFile);
        }
        debInputStream.close();
    } catch (Exception e) {
        LOGGER.error("Error while untar {} file by {}", inFile, e.getMessage());
        LOGGER.debug("Trace is : ", e);
        throw new NGrinderRuntimeException("Error while untar file", e);
    }
    return untaredFiles;
}

From source file:org.ngrinder.common.util.CompressionUtils.java

/**
 * Untar an input file into an output file.
 * The output file is created in the output folder, having the same name as
 * the input file, minus the '.tar' extension.
 *
 * @param inFile    the input .tar file/*from  ww w.j  av a  2 s . c o m*/
 * @param outputDir the output directory file.
 * @return The {@link List} of {@link File}s with the untared content.
 */
@SuppressWarnings("resource")
public static List<File> untar(final File inFile, final File outputDir) {
    final List<File> untaredFiles = new LinkedList<File>();
    InputStream is = null;
    TarArchiveInputStream debInputStream = null;
    try {
        is = new FileInputStream(inFile);
        debInputStream = (TarArchiveInputStream) new ArchiveStreamFactory().createArchiveInputStream("tar", is);
        TarArchiveEntry entry;
        while ((entry = (TarArchiveEntry) debInputStream.getNextEntry()) != null) {
            final File outputFile = new File(outputDir, entry.getName());
            if (entry.isDirectory()) {
                if (!outputFile.exists()) {
                    if (!outputFile.mkdirs()) {
                        throw new IllegalStateException(
                                String.format("Couldn't create directory %s.", outputFile.getAbsolutePath()));
                    }
                }
            } else {
                File parentFile = outputFile.getParentFile();
                if (!parentFile.exists()) {
                    parentFile.mkdirs();
                }
                final OutputStream outputFileStream = new FileOutputStream(outputFile);
                try {
                    IOUtils.copy(debInputStream, outputFileStream);
                } finally {
                    IOUtils.closeQuietly(outputFileStream);
                }

                if (FilenameUtils.isExtension(outputFile.getName(), EXECUTABLE_EXTENSION)) {
                    outputFile.setExecutable(true, true);
                }
                outputFile.setReadable(true);
                outputFile.setWritable(true, true);
            }
            untaredFiles.add(outputFile);
        }
    } catch (Exception e) {
        throw processException("Error while untar file", e);
    } finally {
        IOUtils.closeQuietly(is);
        IOUtils.closeQuietly(debInputStream);
    }
    return untaredFiles;
}

From source file:org.ngrinder.perftest.controller.PerfTestController.java

/**
 * Show the given log for the perf test having the given id.
 *
 * @param user     user/*  w w  w . ja  v a2s  . co m*/
 * @param id       test id
 * @param path     path in the log folder
 * @param response response
 */
@RequestMapping(value = "/{id}/show_log/**")
public void showLog(User user, @PathVariable("id") long id, @RemainedPath String path,
        HttpServletResponse response) {
    getOneWithPermissionCheck(user, id, false);
    File targetFile = perfTestService.getLogFile(id, path);
    response.reset();
    response.setContentType("text/plain");
    response.setCharacterEncoding("UTF-8");
    FileInputStream fileInputStream = null;
    try {
        fileInputStream = new FileInputStream(targetFile);
        ServletOutputStream outputStream = response.getOutputStream();
        if (FilenameUtils.isExtension(targetFile.getName(), "zip")) {
            // Limit log view to 1MB
            outputStream.println(" Only the last 1MB of a log shows.\n");
            outputStream
                    .println("==========================================================================\n\n");
            LogCompressUtils.decompress(fileInputStream, outputStream, 1 * 1024 * 1204);
        } else {
            IOUtils.copy(fileInputStream, outputStream);
        }
    } catch (Exception e) {
        CoreLogger.LOGGER.error("Error while processing log. {}", targetFile, e);
    } finally {
        IOUtils.closeQuietly(fileInputStream);
    }
}