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 rootDirectory
encoding
- 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 rootDirectory
encoding
- 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.