Package com.vaadin.flow.server.frontend
Class FileIOUtils
java.lang.Object
com.vaadin.flow.server.frontend.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 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 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.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 booleanisProbablyTemporaryFile(File file) Checks if the given file is likely a temporary file created by an editor.static StringremoveExtension(String filename) Removes the extension from a filename.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
-
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
-
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
-
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
-