public class FileUtil extends Object
Created: 22 novembre 2004
| Modifier and Type | Class and Description |
|---|---|
static interface |
FileUtil.FileAction |
| Modifier and Type | Field and Description |
|---|---|
static String |
ENCODING
Encoding utilisé (peut être redéfini)
|
| Constructor and Description |
|---|
FileUtil() |
| Modifier and Type | Method and Description |
|---|---|
static String |
basename(File file,
String... suffixes)
Equivalent de la methode basename unix.
|
static String |
basename(String name,
String... suffixes)
Equivalent de la methode basename unix.
|
static File |
byteToFile(byte[] bytes)
Permet de convertir des bytes en fichier, le fichier sera automatiquement
supprimé a la fin de la JVM.
|
static File |
changeExtension(File file,
String newExtension,
String... extchars)
Recupère le fichier dans le même répertoire que le fichier donné et dont
on a changé l'extension.
|
static String |
changeExtension(String name,
String newExtension,
String... extchars)
Change l'extension du fichier en entrée avec la nouvelle extension
|
static void |
copyAndRenameRecursively(File srcDir,
File destDir,
boolean includeSrcDir,
String renameFrom,
String renameTo,
boolean exclude,
String... includePatterns)
Copie recursivement le repertoire source dans le repertoire destination
copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire
"/var/tmp/bidulle", 'bidulle' remplacant 'titi'
|
static void |
copyAndRenameRecursively(File srcDir,
File destDir,
String renameFrom,
String renameTo,
String... includePatterns)
Copie recursivement le repertoire source dans le repertoire destination
copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire
"/var/tmp/bidulle", 'bidulle' remplacant 'titi'
|
static void |
copyRecursively(File srcDir,
File destDir,
String... includePatterns)
Copie recursivement le repertoire source dans le repertoire destination
copyRecursively("/truc/titi", "/var/tmp") donnera le repertoire
"/var/tmp/titi"
|
static boolean |
createDirectoryIfNecessary(File dir)
Create the directory (and his parents) if necessary.
|
static File |
createTempDirectory(String prefix,
String suffix)
Permet de creer un nouveu repertoire temporaire, l'effacement du
répertoire est a la charge de l'appelant
|
static File |
createTempDirectory(String prefix,
String suffix,
File tmpdir)
Permet de creer un nouveu repertoire temporaire, l'effacement du
répertoire est a la charge de l'appelant
|
static String |
extension(File file,
String... extchars)
Permet de récupérer l'extension d'un fichier
|
static String |
extension(String name,
String... extchars)
Permet de récupérer l'extension d'un nom de fichier
|
static List<File> |
find(File directory,
String pattern,
boolean recursively)
Retourne les fichiers d'un répertoire qui satisfont un certain pattern.
|
static File |
getFileFromFQN(File rootDirectory,
String fqn)
Obtain a file fro the given
rootDirectory, applying the fqn. |
static File |
getFileFromPaths(File rootDirectory,
String... paths)
Obtain a file from the given
rootDirectory, applying given paths. |
static List<File> |
getFiles(File directory)
Retourne tous les fichiers du répertoire passé en argument.
|
static List<File> |
getFilteredElements(File directory,
FileFilter ff,
boolean recursively)
Retourne la liste de toutes les fichiers ou répertoire qui s'attisfont
le filtre
|
static BufferedReader |
getReader(File file)
Retourne un Reader utilisant l'encoding par defaut
ENCODING. |
static BufferedReader |
getReader(File file,
String encoding)
Retourne un reader utilisant l'encoding choisi et placé dans un
BufferedReader
|
static File |
getRelativeFile(File inputDirectory,
File outputDirectory,
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 List<File> |
getSubDirectories(File directory)
Retourne tous les sous répertoires du répertoire passé en argument.
|
static File |
getTempFile(String content)
Permet de donner une representation fichier pour une chaine de caractere.
|
static File |
getTempFile(String content,
String fileSuffix)
Permet de donner une representation fichier pour une chaine de caractere.
|
static File |
getTestSpecificDirectory(Class<?> testClassName,
String methodName,
String classifier,
long timestamp)
Obtain a directory and creates it if required to place some test data.
|
static BufferedWriter |
getWriter(File file)
Retourne un Writer utilisant l'encoding par defaut
ENCODING. |
static BufferedWriter |
getWriter(File file,
String encoding)
Retourne un writer utilisant l'encoding choisi et placé dans un
BufferedWriter
|
protected static List<CharSequence> |
grep(String regex,
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
|
static List<CharSequence> |
grep(String searchRegex,
File f,
String encoding)
Java implementation for the unix grep command.
|
static Map<File,List<CharSequence>> |
grep(String searchRegex,
File rootDirectory,
String fileRegex,
String encoding)
Java implementation for the unix grep command.
|
static Map<File,List<CharSequence>> |
grep(String searchRegex,
String fileRegex,
String encoding)
Search for files matching regex in current directory.
|
static boolean |
isGzipFile(File file)
Tests if a file is GZipped.
|
static ByteArrayOutputStream |
readBytesFrom(InputStream inputStream,
int defaultBufferSize)
Get a ByteArrayOutputStream containing all data that could be read from the given InputStream
|
static void |
sed(String searchRegex,
String replace,
File file,
String encoding)
Sed implementation for a single file.
|
static void |
sed(String searchRegex,
String replace,
File rootDirectory,
String fileRegex,
String encoding)
Java implementation for the unix sed command.
|
static void |
sed(String searchRegex,
String replace,
String fileRegex,
String encoding)
Java implementation for the unix sed command.
|
static boolean |
walkAfter(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(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.
|
public static final String ENCODING
public static File byteToFile(byte[] bytes) throws IOException
bytes - the array of bytes to copy in dstination fileIOException - if any io pbpublic static BufferedReader getReader(File file) throws IOException
ENCODING.file - the given readerIOException - if any io pbpublic static BufferedReader getReader(File file, String encoding) throws IOException
file - the given fileencoding - (ISO-8859-1, UTF-8, ...)IOException - if any io pbpublic static BufferedWriter getWriter(File file) throws IOException
ENCODING.file - the given fileIOException - if any io pbpublic static BufferedWriter getWriter(File file, String encoding) throws IOException
file - the given fileencoding - (ISO-8859-1, UTF-8, ...)IOException - if any io pbpublic static File createTempDirectory(String prefix, String suffix, File tmpdir) throws IOException
prefix - le prefix du fichiersuffix - le suffix du fichiertmpdir - le répertoire temporaire ou il faut creer le repertoire
si null on utilise java.io.tmpdirIOException - if any io pbpublic static File createTempDirectory(String prefix, String suffix) throws IOException
prefix - le prefix du repertoire a creersuffix - le suffix du repertoire a creer.IOException - if any io pbpublic static File getTempFile(String content) throws IOException
content - le contenu du fichier temporaireIOException - if any io pbpublic static File getTempFile(String content, String fileSuffix) throws IOException
content - le contenu du fichier temporairefileSuffix - l'extension du fichier crééIOException - if any io pbpublic static String basename(File file, String... suffixes)
file - le fichier dont on souhaite le nom sans le cheminsuffixes - si present represente le suffixe a eliminer du fichier
s'il est trouvépublic static String basename(String name, String... suffixes)
name - le nom du fichier dont on souhaite le nom sans le cheminsuffixes - si present represente le suffixe a eliminer du fichier
s'il est trouvépublic static String extension(File file, String... extchars)
file - le fichier dont on souhaite l'extensionextchars - la liste des caracteres pouvant former l'extension
dans l'ordre de preference. Si vide on utilise ".".public static String extension(String name, String... extchars)
name - le nom du fichier dont on souhaite l'extensionextchars - la liste des caracteres pouvant former l'extension
dans l'ordre de preference. Si vide on utilise ".".public static File changeExtension(File file, String newExtension, String... extchars) throws IOException
file - le fichier d'originenewExtension - la nouvelle extension à utiliserextchars - la liste des extensions possiblesIOException - si aucune extension trouvé dans le fichier d'originepublic static String changeExtension(String name, String newExtension, String... extchars) throws IOException
name - le nom de fichier à transformernewExtension - la nouvelle extension à utiliserextchars - la liste des extensions possiblesIOException - si aucune extension trouvé dans le fichier d'originepublic static File getRelativeFile(File inputDirectory, File outputDirectory, File file)
file donnée qui est dans
l'arborescence de inputDirectory dans le répertoire
ouputDirectory.inputDirectory - le répertoire de départoutputDirectory - le répertoire ciblefile - le fichierpublic static List<File> getSubDirectories(File directory)
directory - un répertoireFile de répertoires et ceci
recursivement à partir de directory, si directory
n'est pas un répertoire la liste est vide.public static List<File> getFiles(File directory)
directory - un répertoireFile des fichiers et ceci
recursivement à partir de directory, si directory n'est pas un
répertoire la liste est videpublic static List<File> find(File directory, String pattern, boolean recursively)
directory - le répertoire à partir duquel il faut faire la recherchepattern - le pattern que doit respecter le fichier pour être dans la
liste résultanterecursively - flag pour indiquer si on doit descendre dans les sous répertoiresFile qui ont s'attisfait le
pattern.public static List<File> getFilteredElements(File directory, FileFilter ff, boolean recursively)
directory - repertoire à partir duquel il faut faire la rechercheff - le filtre à appliquer pour savoir si le fichier parcouru doit
être conservé dans les résultats, ou null pour tous les fichiersrecursively - un flag pour indiquer si on doit descendre dans les répertoiresFile, qui s'attisfont le filtrepublic static boolean walkAfter(File f, FileUtil.FileAction fileAction)
f - le fichier ou répertoire à partir duquel il faut commencerfileAction - l'action à effectuer sur chaque fichierpublic static boolean walkBefore(File f, FileUtil.FileAction fileAction)
f - le fichier ou répertoire à partir duquel il faut commencerfileAction - l'action à effectuer sur chaque fichierpublic static void copyRecursively(File srcDir, File destDir, String... includePatterns) throws IOException
copyRecursively("/truc/titi", "/var/tmp") donnera le repertoire "/var/tmp/titi"
srcDir - le répertoire source à copierdestDir - le répertoire destination où copierincludePatterns - les patterns que doivent resperter les
fichiers/repertoires pour etre copié. Si vide alors tout est copiéIOException - if any io pbpublic static void copyAndRenameRecursively(File srcDir, File destDir, String renameFrom, String renameTo, String... includePatterns) throws IOException
copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire "/var/tmp/bidulle", 'bidulle' remplacant 'titi'
srcDir - le répertoire source à copierdestDir - le répertoire destination où copierrenameFrom - pattern to permit rename file before uncompress itrenameTo - new name for file if renameFrom is applicable to it
you can use $1, $2, ... if you have '(' ')' in renameFromincludePatterns - les patterns que doivent resperter les
fichiers/repertoires pour etre copié. Si vide alors tout est copiéIOException - if any io pbpublic static void copyAndRenameRecursively(File srcDir, File destDir, boolean includeSrcDir, String renameFrom, String renameTo, boolean exclude, String... includePatterns) throws IOException
copyRecursively("/truc/titi", "/var/tmp", "bidulle") donnera le repertoire "/var/tmp/bidulle", 'bidulle' remplacant 'titi'
srcDir - le répertoire source à copierdestDir - le répertoire destination où copierincludeSrcDir - si vrai alors le repertoire source est copie dans le
repertoire destination et non pas seulement les fichiers qu'il contientrenameFrom - pattern to permit rename file before uncompress itrenameTo - new name for file if renameFrom is applicable to it
you can use $1, $2, ... if you have '(' ')' in renameFromexclude - inverse include pattern interpretationincludePatterns - les patterns que doivent resperter les
fichiers/repertoires pour etre copié. Si vide alors tout est copiéIOException - if any io pbpublic static ByteArrayOutputStream readBytesFrom(InputStream inputStream, int defaultBufferSize) throws IOException
inputStream - the stream to readdefaultBufferSize - the buffer sizeIOException - if any pb while reading or writingprotected static List<CharSequence> grep(String regex, CharBuffer cb)
Code taken from :
http://java.sun.com/javase/6/docs/technotes/guides/io/example/Grep.java
regex - regex to search into filecb - nio bufferpublic static List<CharSequence> grep(String searchRegex, File f, String encoding) throws IOException
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
searchRegex - regex to search into filef - file to search intoencoding - encoding to useIOException - FIXMEpublic static Map<File,List<CharSequence>> grep(String searchRegex, File rootDirectory, String fileRegex, String encoding) throws IOException
May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open
searchRegex - regex to search into filerootDirectory - directory to seacrh intofileRegex - regex for file to find in rootDirectoryencoding - encoding to useIOException - FIXMEpublic static Map<File,List<CharSequence>> grep(String searchRegex, String fileRegex, String encoding) throws IOException
May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open
searchRegex - regex to search into filefileRegex - regex for file to find in current direncoding - encoding to useIOException - FIXMEpublic static void sed(String searchRegex, String replace, File file, String encoding) throws IOException
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
searchRegex - Prefix which shall be replacedreplace - Prefix which is going to replace the originalfile - File which sed shall be appliedencoding - charset encodingIOException - FIXMEpublic static void sed(String searchRegex, String replace, File rootDirectory, String fileRegex, String encoding) throws IOException
May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open
searchRegex - regex to search into filereplace - string to replace matching patternsrootDirectory - directory to search intofileRegex - regex for file to find in rootDirectoryencoding - encoding to useIOException - FIXMEpublic static void sed(String searchRegex, String replace, String fileRegex, String encoding) throws IOException
May fail on windows with error : The requested operation cannot be performed on a file with a user-mapped section open
searchRegex - regex to search into filereplace - string to replace matching patternsfileRegex - regex for file to find in current direncoding - encoding to useIOException - FIXMEpublic static boolean createDirectoryIfNecessary(File dir)
dir - the directory to create if not exisitingtrue if directory was created, false if was no
need to create itpublic static File getFileFromPaths(File rootDirectory, String... paths)
rootDirectory, applying given paths.
For example with paths = a, b and c, then result is :
root/a/b/c
rootDirectory - the root directorypaths - paths to applypublic static File getFileFromFQN(File rootDirectory, String fqn)
rootDirectory, applying the fqn.
For example with fqn = a.b.c, the result is :
root/a/b/c
rootDirectory - the root directoryfqn - fqn of searched filepublic static File getTestSpecificDirectory(Class<?> testClassName, String methodName, String classifier, long timestamp)
The directory will be :
java.io.tmpdir/testclassName.fqn/methodName[/classifier]/timestamp
testClassName - test class namemethodName - method nameclassifier - optional classifiertimestamp - timestamppublic static boolean isGzipFile(File file) throws IOException
file - file to testtrue if file is gzipped, false otherwiseIOException - if any io errors while reading fileCopyright © 2004–2020 CodeLutin. All rights reserved.