From: Mungo Carstairs Date: Mon, 9 Apr 2018 16:04:42 +0000 (+0100) Subject: JAL-2937 extract reusable utility method X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=a40d1c1e510b8e68989ec46c46a1a7f4473981aa;p=jalview.git JAL-2937 extract reusable utility method --- 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; + } + +}