Package com.vaadin.flow.internal
Class FileIOUtils
java.lang.Object
com.vaadin.flow.internal.FileIOUtils
Utility class for file I/O operations, including conditional file writing,
file searching, and content comparison.
For internal use only. May be renamed or removed in a future release.
-
Method Summary
Modifier and TypeMethodDescriptionstatic voidcloseQuietly(AutoCloseable closeable) Closes a resource quietly without throwing an exception.static booleancompareIgnoringIndentationAndEOL(String content1, String content2, BiPredicate<String, String> compareFn) Compare two file content strings ignoring indentation and EOL characters.static booleancompareIgnoringIndentationEOLAndWhiteSpace(String content1, String content2, BiPredicate<String, String> compareFn) Compare two file content strings ignoring indentation, EOL characters and white space where it does not matter (before and after {, }, ' and : chars).static booleancontentEquals(InputStream input1, InputStream input2) Compares the content of two InputStreams.static voidcopyDirectory(File source, File target) Copies a directory recursively.static voidcopyDirectory(File source, File target, FileFilter filter) Copies a directory recursively with a file filter.static voidDeletes a file or directory recursively.static booleandeleteFileQuietly(File file) Deletes file if it exists and eats exceptions.getFilesByPattern(Path baseDir, String pattern) Get a list of files in a given directory that match a given glob pattern.static FileTry determining the project folder from the classpath.static FileGets the user's home directory.static booleanisEmptyDirectory(Path directory) Checks if a directory is empty.static booleanisProbablyTemporaryFile(File file) Checks if the given file is likely a temporary file created by an editor.Lists all files in a directory with the specified extensions, recursively.static StringremoveExtension(String filename) Removes the extension from a filename.static StringurlToString(URL url) Reads the content from given URL into UTF 8 String.static booleanwildcardMatch(String text, String pattern) Checks if a string matches a wildcard pattern.static booleanwriteIfChanged(File file, String content) Writes the given content into the given file unless the file already contains that content.static booleanwriteIfChanged(File file, List<String> content) Writes the given content into the given file unless the file already contains that content.
-
Method Details
-
deleteFileQuietly
Deletes file if it exists and eats exceptions. Note, this is an internal helper method, use only from framework code.- Parameters:
file- to be deleted- Returns:
- true if succeeded
-
urlToString
Reads the content from given URL into UTF 8 String. Note, this is an internal helper method, use only from framework code.- Parameters:
url- the URL to read- Returns:
- string from the content
- Throws:
IOException
-
copyDirectory
Copies a directory recursively.- Parameters:
source- the source directorytarget- the target directory- Throws:
IOException- if an I/O error occurs
-
copyDirectory
Copies a directory recursively with a file filter.- Parameters:
source- the source directorytarget- the target directoryfilter- the file filter to apply, or null to copy all files- Throws:
IOException- if an I/O error occurs
-
delete
Deletes a file or directory recursively. Throws an exception if the deletion fails.- Parameters:
file- the file or directory to delete- Throws:
IOException- if an I/O error occurs
-
getUserDirectory
Gets the user's home directory.- Returns:
- the user's home directory
-
listFiles
public static List<File> listFiles(File directory, String[] extensions, boolean recursive) throws IOException Lists all files in a directory with the specified extensions, recursively.- Parameters:
directory- the directory to searchextensions- the file extensions to include (without dots)recursive- whether to search recursively- Returns:
- a list of files matching the criteria
- Throws:
IOException- if an I/O error occurs
-
contentEquals
Compares the content of two InputStreams.- Parameters:
input1- the first InputStreaminput2- the second InputStream- Returns:
- true if the content is equal, false otherwise
- Throws:
IOException- if an I/O error occurs
-
closeQuietly
Closes a resource quietly without throwing an exception.- Parameters:
closeable- the resource to close
-
removeExtension
Removes the extension from a filename.- Parameters:
filename- the filename- Returns:
- the filename without extension
-
wildcardMatch
Checks if a string matches a wildcard pattern.- Parameters:
text- the text to checkpattern- the wildcard pattern (* and ? are supported)- Returns:
- true if the text matches the pattern, false otherwise
-
isEmptyDirectory
Checks if a directory is empty.- Parameters:
directory- the directory to check- Returns:
- true if the directory is empty, false otherwise
- Throws:
IOException- if an I/O error occurs
-
writeIfChanged
Writes the given content into the given file unless the file already contains that content.- Parameters:
file- the file to write tocontent- the lines to write- Returns:
- true if the content was written to the file, false otherwise
- Throws:
IOException- if something went wrong
-
writeIfChanged
Writes the given content into the given file unless the file already contains that content.- Parameters:
file- the file to write tocontent- the content to write- Returns:
- true if the content was written to the file, false otherwise
- Throws:
IOException- if something went wrong
-
getProjectFolderFromClasspath
Try determining the project folder from the classpath.- Returns:
- A file referring to the project folder or null if the folder could not be determined
-
isProbablyTemporaryFile
Checks if the given file is likely a temporary file created by an editor.- Parameters:
file- the file to check- Returns:
- true if the file is likely a temporary file, false otherwise
-
getFilesByPattern
Get a list of files in a given directory that match a given glob pattern.- Parameters:
baseDir- a directory to walk inpattern- glob pattern to filter files, e.g. "*.js".- Returns:
- a list of files matching a given pattern
- Throws:
IOException- if an I/O error is thrown while walking through the tree in base directory
-
compareIgnoringIndentationAndEOL
public static boolean compareIgnoringIndentationAndEOL(String content1, String content2, BiPredicate<String, String> compareFn) Compare two file content strings ignoring indentation and EOL characters.- Parameters:
content1- the first file content to comparecontent2- the second file content to comparecompareFn- a function to compare the normalized strings- Returns:
- true if the normalized strings are equal, false otherwise
-
compareIgnoringIndentationEOLAndWhiteSpace
public static boolean compareIgnoringIndentationEOLAndWhiteSpace(String content1, String content2, BiPredicate<String, String> compareFn) Compare two file content strings ignoring indentation, EOL characters and white space where it does not matter (before and after {, }, ' and : chars).- Parameters:
content1- the first file content to comparecontent2- the second file content to comparecompareFn- a function to compare the normalized strings- Returns:
- true if the normalized strings are equal, false otherwise
-