Class FileUtil

java.lang.Object
org.nuiton.util.FileUtil

public class FileUtil
extends java.lang.Object
Opérations sur des fichiers. Copie, suppression, renommage, recherche, fichiers d'un répertoire, sous-répertoires d'un répertoire, récupération du basename ou de l'extension, création d'un fichier temporaire, comparaison de dates de création, récupération d'une chaîne, d'un Reader ou d'un Writer à partir d'un fichier, récupération du fichier saisi dans une boîte de dialogue, conversions en byte[], en Stream...

Created: 22 novembre 2004

Author:
Benjamin Poussin - poussin@codelutin.com, Tony Chemit - chemit@codelutin.com
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static interface  FileUtil.FileAction  
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String ENCODING
    Encoding utilisé (peut être redéfini)
  • Constructor Summary

    Constructors 
    Constructor Description
    FileUtil()  
  • Method Summary

    Modifier and Type Method Description
    static java.lang.String basename​(java.io.File file, java.lang.String... suffixes)
    Equivalent de la methode basename unix.
    static java.lang.String basename​(java.lang.String name, java.lang.String... suffixes)
    Equivalent de la methode basename unix.
    static java.io.File byteToFile​(byte[] bytes)
    Permet de convertir des bytes en fichier, le fichier sera automatiquement supprimé a la fin de la JVM.
    static java.io.File changeExtension​(java.io.File file, java.lang.String newExtension, java.lang.String... extchars)
    Recupère le fichier dans le même répertoire que le fichier donné et dont on a changé l'extension.
    static java.lang.String changeExtension​(java.lang.String name, java.lang.String newExtension, java.lang.String... extchars)
    Change l'extension du fichier en entrée avec la nouvelle extension
    static void copyAndRenameRecursively​(java.io.File srcDir, java.io.File destDir, boolean includeSrcDir, java.lang.String renameFrom, java.lang.String renameTo, boolean exclude, java.lang.String... includePatterns)
    Copie recursivement le repertoire source dans le repertoire destination
    static void copyAndRenameRecursively​(java.io.File srcDir, java.io.File destDir, java.lang.String renameFrom, java.lang.String renameTo, java.lang.String... includePatterns)
    Copie recursivement le repertoire source dans le repertoire destination
    static void copyRecursively​(java.io.File srcDir, java.io.File destDir, java.lang.String... includePatterns)
    Copie recursivement le repertoire source dans le repertoire destination
    static boolean createDirectoryIfNecessary​(java.io.File dir)
    Create the directory (and his parents) if necessary.
    static java.io.File createTempDirectory​(java.lang.String prefix, java.lang.String suffix)
    Permet de creer un nouveu repertoire temporaire, l'effacement du répertoire est a la charge de l'appelant
    static java.io.File createTempDirectory​(java.lang.String prefix, java.lang.String suffix, java.io.File tmpdir)
    Permet de creer un nouveu repertoire temporaire, l'effacement du répertoire est a la charge de l'appelant
    static java.lang.String extension​(java.io.File file, java.lang.String... extchars)
    Permet de récupérer l'extension d'un fichier
    static java.lang.String extension​(java.lang.String name, java.lang.String... extchars)
    Permet de récupérer l'extension d'un nom de fichier
    static java.util.List<java.io.File> find​(java.io.File directory, java.lang.String pattern, boolean recursively)
    Retourne les fichiers d'un répertoire qui satisfont un certain pattern.
    static java.io.File getFileFromFQN​(java.io.File rootDirectory, java.lang.String fqn)
    Obtain a file fro the given rootDirectory, applying the fqn.
    static java.io.File getFileFromPaths​(java.io.File rootDirectory, java.lang.String... paths)
    Obtain a file from the given rootDirectory, applying given paths.
    static java.util.List<java.io.File> getFiles​(java.io.File directory)
    Retourne tous les fichiers du répertoire passé en argument.
    static java.util.List<java.io.File> getFilteredElements​(java.io.File directory, java.io.FileFilter ff, boolean recursively)
    Retourne la liste de toutes les fichiers ou répertoire qui s'attisfont le filtre
    static java.io.BufferedReader getReader​(java.io.File file)
    Retourne un Reader utilisant l'encoding par defaut ENCODING.
    static java.io.BufferedReader getReader​(java.io.File file, java.lang.String encoding)
    Retourne un reader utilisant l'encoding choisi et placé dans un BufferedReader
    static java.io.File getRelativeFile​(java.io.File inputDirectory, java.io.File outputDirectory, java.io.File file)
    Recupère le fichier mirroir du fichier file donnée qui est dans l'arborescence de inputDirectory dans le répertoire ouputDirectory.
    static java.util.List<java.io.File> getSubDirectories​(java.io.File directory)
    Retourne tous les sous répertoires du répertoire passé en argument.
    static java.io.File getTempFile​(java.lang.String content)
    Permet de donner une representation fichier pour une chaine de caractere.
    static java.io.File getTempFile​(java.lang.String content, java.lang.String fileSuffix)
    Permet de donner une representation fichier pour une chaine de caractere.
    static java.io.File getTestSpecificDirectory​(java.lang.Class<?> testClassName, java.lang.String methodName, java.lang.String classifier, long timestamp)
    Obtain a directory and creates it if required to place some test data.
    static java.io.BufferedWriter getWriter​(java.io.File file)
    Retourne un Writer utilisant l'encoding par defaut ENCODING.
    static java.io.BufferedWriter getWriter​(java.io.File file, java.lang.String encoding)
    Retourne un writer utilisant l'encoding choisi et placé dans un BufferedWriter
    static java.util.List<java.lang.CharSequence> grep​(java.lang.String searchRegex, java.io.File f, java.lang.String encoding)
    Java implementation for the unix grep command.
    static java.util.Map<java.io.File,​java.util.List<java.lang.CharSequence>> grep​(java.lang.String searchRegex, java.io.File rootDirectory, java.lang.String fileRegex, java.lang.String encoding)
    Java implementation for the unix grep command.
    static java.util.Map<java.io.File,​java.util.List<java.lang.CharSequence>> grep​(java.lang.String searchRegex, java.lang.String fileRegex, java.lang.String encoding)
    Search for files matching regex in current directory.
    protected static java.util.List<java.lang.CharSequence> grep​(java.lang.String regex, java.nio.CharBuffer cb)
    Use the linePattern to break the given CharBuffer into lines, applying the input pattern to each line to see if we have a match
    static boolean isGzipFile​(java.io.File file)
    Tests if a file is GZipped.
    static java.io.ByteArrayOutputStream readBytesFrom​(java.io.InputStream inputStream, int defaultBufferSize)
    Get a ByteArrayOutputStream containing all data that could be read from the given InputStream
    static void sed​(java.lang.String searchRegex, java.lang.String replace, java.io.File file, java.lang.String encoding)
    Sed implementation for a single file.
    static void sed​(java.lang.String searchRegex, java.lang.String replace, java.io.File rootDirectory, java.lang.String fileRegex, java.lang.String encoding)
    Java implementation for the unix sed command.
    static void sed​(java.lang.String searchRegex, java.lang.String replace, java.lang.String fileRegex, java.lang.String encoding)
    Java implementation for the unix sed command.
    static boolean walkAfter​(java.io.File f, FileUtil.FileAction fileAction)
    Permet de faire une action avant le parcours des fichiers, c-a-d que l'on fera l'action sur les fichiers contenu dans un répertoire après l'action sur le répertoire lui même.
    static boolean walkBefore​(java.io.File f, FileUtil.FileAction fileAction)
    Permet de faire une action apès le parcours des fichiers, c-a-d que l'on fera l'action sur les fichiers contenu dans un répertoire avant l'action sur le répertoire lui même.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ENCODING

      public static final java.lang.String ENCODING
      Encoding utilisé (peut être redéfini)
  • Constructor Details

  • Method Details

    • byteToFile

      public static java.io.File byteToFile​(byte[] bytes) throws java.io.IOException
      Permet de convertir des bytes en fichier, le fichier sera automatiquement supprimé a la fin de la JVM.
      Parameters:
      bytes - the array of bytes to copy in dstination file
      Returns:
      le fichier temporaire contenant les bytes
      Throws:
      java.io.IOException - if any io pb
    • getReader

      public static java.io.BufferedReader getReader​(java.io.File file) throws java.io.IOException
      Retourne un Reader utilisant l'encoding par defaut ENCODING.
      Parameters:
      file - the given reader
      Returns:
      the reader on the given file
      Throws:
      java.io.IOException - if any io pb
    • getReader

      public static java.io.BufferedReader getReader​(java.io.File file, java.lang.String encoding) throws java.io.IOException
      Retourne un reader utilisant l'encoding choisi et placé dans un BufferedReader
      Parameters:
      file - the given file
      encoding - (ISO-8859-1, UTF-8, ...)
      Returns:
      the buffered reader in the given encoding
      Throws:
      java.io.IOException - if any io pb
    • getWriter

      public static java.io.BufferedWriter getWriter​(java.io.File file) throws java.io.IOException
      Retourne un Writer utilisant l'encoding par defaut ENCODING.
      Parameters:
      file - the given file
      Returns:
      the writer on the given file
      Throws:
      java.io.IOException - if any io pb
    • getWriter

      public static java.io.BufferedWriter getWriter​(java.io.File file, java.lang.String encoding) throws java.io.IOException
      Retourne un writer utilisant l'encoding choisi et placé dans un BufferedWriter
      Parameters:
      file - the given file
      encoding - (ISO-8859-1, UTF-8, ...)
      Returns:
      the buffered writer on the given file with given encoding
      Throws:
      java.io.IOException - if any io pb
    • createTempDirectory

      public static java.io.File createTempDirectory​(java.lang.String prefix, java.lang.String suffix, java.io.File tmpdir) throws java.io.IOException
      Permet de creer un nouveu repertoire temporaire, l'effacement du répertoire est a la charge de l'appelant
      Parameters:
      prefix - le prefix du fichier
      suffix - le suffix du fichier
      tmpdir - le répertoire temporaire ou il faut creer le repertoire si null on utilise java.io.tmpdir
      Returns:
      le fichier pointant sur le nouveau repertoire
      Throws:
      java.io.IOException - if any io pb
    • createTempDirectory

      public static java.io.File createTempDirectory​(java.lang.String prefix, java.lang.String suffix) throws java.io.IOException
      Permet de creer un nouveu repertoire temporaire, l'effacement du répertoire est a la charge de l'appelant
      Parameters:
      prefix - le prefix du repertoire a creer
      suffix - le suffix du repertoire a creer.
      Returns:
      the temprary created file
      Throws:
      java.io.IOException - if any io pb
    • getTempFile

      public static java.io.File getTempFile​(java.lang.String content) throws java.io.IOException
      Permet de donner une representation fichier pour une chaine de caractere. Le fichier sera automatiquement effacé à la fin de la JVM.
      Parameters:
      content - le contenu du fichier temporaire
      Returns:
      le fichier qui contient content
      Throws:
      java.io.IOException - if any io pb
    • getTempFile

      public static java.io.File getTempFile​(java.lang.String content, java.lang.String fileSuffix) throws java.io.IOException
      Permet de donner une representation fichier pour une chaine de caractere. Le fichier sera automatiquement effacé à la fin de la JVM.
      Parameters:
      content - le contenu du fichier temporaire
      fileSuffix - l'extension du fichier créé
      Returns:
      le fichier qui contient content
      Throws:
      java.io.IOException - if any io pb
    • basename

      public static java.lang.String basename​(java.io.File file, java.lang.String... suffixes)
      Equivalent de la methode basename unix. basename("/tmp/toto.xml", ".xml") → "toto"
      Parameters:
      file - le fichier dont on souhaite le nom sans le chemin
      suffixes - si present represente le suffixe a eliminer du fichier s'il est trouvé
      Returns:
      le nom du fichier sans le suffixe si trouvé.
    • basename

      public static java.lang.String basename​(java.lang.String name, java.lang.String... suffixes)
      Equivalent de la methode basename unix. basename("/tmp/toto.xml", ".xml") → "toto"
      Parameters:
      name - le nom du fichier dont on souhaite le nom sans le chemin
      suffixes - si present represente le suffixe a eliminer du fichier s'il est trouvé
      Returns:
      le nom du fichier sans le suffixe si trouvé.
      Since:
      1.4.2
    • extension

      public static java.lang.String extension​(java.io.File file, java.lang.String... extchars)
      Permet de récupérer l'extension d'un fichier
      Parameters:
      file - le fichier dont on souhaite l'extension
      extchars - la liste des caracteres pouvant former l'extension dans l'ordre de preference. Si vide on utilise ".".
      Returns:
      l'extension ou la chaine vide si le fichier n'a pas d'extension l'extension ne contient pas le chaine de delimitation
    • extension

      public static java.lang.String extension​(java.lang.String name, java.lang.String... extchars)
      Permet de récupérer l'extension d'un nom de fichier
      Parameters:
      name - le nom du fichier dont on souhaite l'extension
      extchars - la liste des caracteres pouvant former l'extension dans l'ordre de preference. Si vide on utilise ".".
      Returns:
      l'extension ou la chaine vide si le fichier n'a pas d'extension l'extension ne contient pas le chaine de delimitation
      Since:
      1.4.2
    • changeExtension

      public static java.io.File changeExtension​(java.io.File file, java.lang.String newExtension, java.lang.String... extchars) throws java.io.IOException
      Recupère le fichier dans le même répertoire que le fichier donné et dont on a changé l'extension.
      Parameters:
      file - le fichier d'origine
      newExtension - la nouvelle extension à utiliser
      extchars - la liste des extensions possibles
      Returns:
      le fichier dont on a changé l'extension
      Throws:
      java.io.IOException - si aucune extension trouvé dans le fichier d'origine
      Since:
      1.4.2
    • changeExtension

      public static java.lang.String changeExtension​(java.lang.String name, java.lang.String newExtension, java.lang.String... extchars) throws java.io.IOException
      Change l'extension du fichier en entrée avec la nouvelle extension
      Parameters:
      name - le nom de fichier à transformer
      newExtension - la nouvelle extension à utiliser
      extchars - la liste des extensions possibles
      Returns:
      le nouveau nom de fichier
      Throws:
      java.io.IOException - si aucune extension trouvé dans le fichier d'origine
      Since:
      1.4.2
    • getRelativeFile

      public static java.io.File getRelativeFile​(java.io.File inputDirectory, java.io.File outputDirectory, java.io.File file)
      Recupère le fichier mirroir du fichier file donnée qui est dans l'arborescence de inputDirectory dans le répertoire ouputDirectory.
      Parameters:
      inputDirectory - le répertoire de départ
      outputDirectory - le répertoire cible
      file - le fichier
      Returns:
      le fichier mirroir dans le répertoire cible
      Since:
      1.4.2
    • getSubDirectories

      public static java.util.List<java.io.File> getSubDirectories​(java.io.File directory)
      Retourne tous les sous répertoires du répertoire passé en argument.
      Parameters:
      directory - un répertoire
      Returns:
      une liste d'objet File de répertoires et ceci recursivement à partir de directory, si directory n'est pas un répertoire la liste est vide.
    • getFiles

      public static java.util.List<java.io.File> getFiles​(java.io.File directory)
      Retourne tous les fichiers du répertoire passé en argument.
      Parameters:
      directory - un répertoire
      Returns:
      une liste d'objet File des fichiers et ceci recursivement à partir de directory, si directory n'est pas un répertoire la liste est vide
    • find

      public static java.util.List<java.io.File> find​(java.io.File directory, java.lang.String pattern, boolean recursively)
      Retourne les fichiers d'un répertoire qui satisfont un certain pattern. La recherche est faite récursivement dans les sous répertoires
      Parameters:
      directory - le répertoire à partir duquel il faut faire la recherche
      pattern - le pattern que doit respecter le fichier pour être dans la liste résultante
      recursively - flag pour indiquer si on doit descendre dans les sous répertoires
      Returns:
      une liste d'objet File qui ont s'attisfait le pattern.
    • getFilteredElements

      public static java.util.List<java.io.File> getFilteredElements​(java.io.File directory, java.io.FileFilter ff, boolean recursively)
      Retourne la liste de toutes les fichiers ou répertoire qui s'attisfont le filtre
      Parameters:
      directory - repertoire à partir duquel il faut faire la recherche
      ff - le filtre à appliquer pour savoir si le fichier parcouru doit être conservé dans les résultats, ou null pour tous les fichiers
      recursively - un flag pour indiquer si on doit descendre dans les répertoires
      Returns:
      une liste d'objet File, qui s'attisfont le filtre
    • walkAfter

      public static boolean walkAfter​(java.io.File f, FileUtil.FileAction fileAction)
      Permet de faire une action avant le parcours des fichiers, c-a-d que l'on fera l'action sur les fichiers contenu dans un répertoire après l'action sur le répertoire lui même.
      Parameters:
      f - le fichier ou répertoire à partir duquel il faut commencer
      fileAction - l'action à effectuer sur chaque fichier
      Returns:
      le résultat des fileAction executé sur les fichiers, chaque résultat de FileAction sont assemblé par un ET logique pour donner le résultat final
    • walkBefore

      public static boolean walkBefore​(java.io.File f, FileUtil.FileAction fileAction)
      Permet de faire une action apès le parcours des fichiers, c-a-d que l'on fera l'action sur les fichiers contenu dans un répertoire avant l'action sur le répertoire lui même.
      Parameters:
      f - le fichier ou répertoire à partir duquel il faut commencer
      fileAction - l'action à effectuer sur chaque fichier
      Returns:
      le résultat des fileAction executé sur les fichiers, chaque résultat de FileAction sont assemblé par un ET logique pour donner le résultat final
    • copyRecursively

      public static void copyRecursively​(java.io.File srcDir, java.io.File destDir, java.lang.String... includePatterns) throws java.io.IOException
      Copie recursivement le repertoire source dans le repertoire destination

      copyRecursively("/truc/titi", "/var/tmp") donnera le repertoire "/var/tmp/titi"

      Parameters:
      srcDir - le répertoire source à copier
      destDir - le répertoire destination où copier
      includePatterns - les patterns que doivent resperter les fichiers/repertoires pour etre copié. Si vide alors tout est copié
      Throws:
      java.io.IOException - if any io pb
    • copyAndRenameRecursively

      public static void copyAndRenameRecursively​(java.io.File srcDir, java.io.File destDir, java.lang.String renameFrom, java.lang.String renameTo, java.lang.String... includePatterns) throws java.io.IOException
      Copie recursivement le repertoire source dans le repertoire destination

      copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire "/var/tmp/bidulle", 'bidulle' remplacant 'titi'

      Parameters:
      srcDir - le répertoire source à copier
      destDir - le répertoire destination où copier
      renameFrom - pattern to permit rename file before uncompress it
      renameTo - new name for file if renameFrom is applicable to it you can use $1, $2, ... if you have '(' ')' in renameFrom
      includePatterns - les patterns que doivent resperter les fichiers/repertoires pour etre copié. Si vide alors tout est copié
      Throws:
      java.io.IOException - if any io pb
    • copyAndRenameRecursively

      public static void copyAndRenameRecursively​(java.io.File srcDir, java.io.File destDir, boolean includeSrcDir, java.lang.String renameFrom, java.lang.String renameTo, boolean exclude, java.lang.String... includePatterns) throws java.io.IOException
      Copie recursivement le repertoire source dans le repertoire destination

      copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire "/var/tmp/bidulle", 'bidulle' remplacant 'titi'

      Parameters:
      srcDir - le répertoire source à copier
      destDir - le répertoire destination où copier
      includeSrcDir - si vrai alors le repertoire source est copie dans le repertoire destination et non pas seulement les fichiers qu'il contient
      renameFrom - pattern to permit rename file before uncompress it
      renameTo - new name for file if renameFrom is applicable to it you can use $1, $2, ... if you have '(' ')' in renameFrom
      exclude - inverse include pattern interpretation
      includePatterns - les patterns que doivent resperter les fichiers/repertoires pour etre copié. Si vide alors tout est copié
      Throws:
      java.io.IOException - if any io pb
    • readBytesFrom

      public static java.io.ByteArrayOutputStream readBytesFrom​(java.io.InputStream inputStream, int defaultBufferSize) throws java.io.IOException
      Get a ByteArrayOutputStream containing all data that could be read from the given InputStream
      Parameters:
      inputStream - the stream to read
      defaultBufferSize - the buffer size
      Returns:
      the input stream read for input
      Throws:
      java.io.IOException - if any pb while reading or writing
    • grep

      protected static java.util.List<java.lang.CharSequence> grep​(java.lang.String regex, java.nio.CharBuffer cb)
      Use the linePattern to break the given CharBuffer into lines, applying the input pattern to each line to see if we have a match

      Code taken from :

      http://java.sun.com/javase/6/docs/technotes/guides/io/example/Grep.java

      Parameters:
      regex - regex to search into file
      cb - nio buffer
      Returns:
      matching lines (or {code null} if no matching lines)
      Since:
      1.1.2
    • grep

      public static java.util.List<java.lang.CharSequence> grep​(java.lang.String searchRegex, java.io.File f, java.lang.String encoding) throws java.io.IOException
      Java implementation for the unix grep command.

      Code taken from :

      http://java.sun.com/javase/6/docs/technotes/guides/io/example/Grep.java

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - regex to search into file
      f - file to search into
      encoding - encoding to use
      Returns:
      matching lines (or {code null} if no matching lines)
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • grep

      public static java.util.Map<java.io.File,​java.util.List<java.lang.CharSequence>> grep​(java.lang.String searchRegex, java.io.File rootDirectory, java.lang.String fileRegex, java.lang.String encoding) throws java.io.IOException
      Java implementation for the unix grep command.

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - regex to search into file
      rootDirectory - directory to seacrh into
      fileRegex - regex for file to find in rootDirectory
      encoding - encoding to use
      Returns:
      all matching lines for each files
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • grep

      public static java.util.Map<java.io.File,​java.util.List<java.lang.CharSequence>> grep​(java.lang.String searchRegex, java.lang.String fileRegex, java.lang.String encoding) throws java.io.IOException
      Search for files matching regex in current directory.

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - regex to search into file
      fileRegex - regex for file to find in current dir
      encoding - encoding to use
      Returns:
      all matching lines for each files
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • sed

      public static void sed​(java.lang.String searchRegex, java.lang.String replace, java.io.File file, java.lang.String encoding) throws java.io.IOException
      Sed implementation for a single file.

      Oginal source code from http://kickjava.com/src/org/apache/lenya/util/SED.java.htm.

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - Prefix which shall be replaced
      replace - Prefix which is going to replace the original
      file - File which sed shall be applied
      encoding - charset encoding
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • sed

      public static void sed​(java.lang.String searchRegex, java.lang.String replace, java.io.File rootDirectory, java.lang.String fileRegex, java.lang.String encoding) throws java.io.IOException
      Java implementation for the unix sed command.

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - regex to search into file
      replace - string to replace matching patterns
      rootDirectory - directory to search into
      fileRegex - regex for file to find in rootDirectory
      encoding - encoding to use
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • sed

      public static void sed​(java.lang.String searchRegex, java.lang.String replace, java.lang.String fileRegex, java.lang.String encoding) throws java.io.IOException
      Java implementation for the unix sed command.

      May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open

      Parameters:
      searchRegex - regex to search into file
      replace - string to replace matching patterns
      fileRegex - regex for file to find in current dir
      encoding - encoding to use
      Throws:
      java.io.IOException - FIXME
      Since:
      1.1.2
    • createDirectoryIfNecessary

      public static boolean createDirectoryIfNecessary​(java.io.File dir)
      Create the directory (and his parents) if necessary.
      Parameters:
      dir - the directory to create if not exisiting
      Returns:
      true if directory was created, false if was no need to create it
      Since:
      1.3.2
    • getFileFromPaths

      public static java.io.File getFileFromPaths​(java.io.File rootDirectory, java.lang.String... paths)
      Obtain a file from the given rootDirectory, applying given paths.

      For example with paths = a, b and c, then result is :

       root/a/b/c
       
      Parameters:
      rootDirectory - the root directory
      paths - paths to apply
      Returns:
      the final file
      Since:
      2.2
    • getFileFromFQN

      public static java.io.File getFileFromFQN​(java.io.File rootDirectory, java.lang.String fqn)
      Obtain a file fro the given rootDirectory, applying the fqn.

      For example with fqn = a.b.c, the result is :

       root/a/b/c
       
      Parameters:
      rootDirectory - the root directory
      fqn - fqn of searched file
      Returns:
      the final file
      Since:
      2.2
    • getTestSpecificDirectory

      public static java.io.File getTestSpecificDirectory​(java.lang.Class<?> testClassName, java.lang.String methodName, java.lang.String classifier, long timestamp)
      Obtain a directory and creates it if required to place some test data.

      The directory will be :

           java.io.tmpdir/testclassName.fqn/methodName[/classifier]/timestamp
       
      Parameters:
      testClassName - test class name
      methodName - method name
      classifier - optional classifier
      timestamp - timestamp
      Returns:
      the computed and created if required directory.
      Since:
      2.6.10
    • isGzipFile

      public static boolean isGzipFile​(java.io.File file) throws java.io.IOException
      Tests if a file is GZipped.
      Parameters:
      file - file to test
      Returns:
      true if file is gzipped, false otherwise
      Throws:
      java.io.IOException - if any io errors while reading file
      Since:
      3.0