From a40d1c1e510b8e68989ec46c46a1a7f4473981aa Mon Sep 17 00:00:00 2001 From: Mungo Carstairs Date: Mon, 9 Apr 2018 17:04:42 +0100 Subject: [PATCH] JAL-2937 extract reusable utility method --- src/jalview/util/FileUtils.java | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/jalview/util/FileUtils.java diff --git a/src/jalview/util/FileUtils.java b/src/jalview/util/FileUtils.java new file mode 100644 index 0000000..b81ec71 --- /dev/null +++ b/src/jalview/util/FileUtils.java @@ -0,0 +1,56 @@ +package jalview.util; + +import java.io.File; +import java.io.IOException; + +/** + * Miscellaneous file-related functions + */ +public final class FileUtils +{ + + /** + * Answers the executable file for the given command, or null if not found or + * not executable. The path to the executable is the command name prefixed by + * the given folder path, optionally with .exe appended. + * + * @param cmd + * command short name, for example hmmbuild + * @param binaryPath + * parent folder for the executable + * @return + */ + public static File getExecutable(String cmd, String binaryPath) + { + File file = new File(binaryPath, cmd); + if (!file.canExecute()) + { + file = new File(binaryPath, cmd + ".exe"); + { + if (!file.canExecute()) + { + file = null; + } + } + } + return file; + } + + /** + * A convenience method to create a temporary file that is deleted on exit of + * the JVM + * + * @param prefix + * @param suffix + * @return + * @throws IOException + */ + public static File createTempFile(String prefix, String suffix) + throws IOException + { + File f = File.createTempFile(prefix, suffix); + f.deleteOnExit(); + return f; + } + +} -- 1.7.10.2