Code for getting the directory packaged code is running from
Details:
This code gets hold of the directory the current code is running from, stripping out any package structure.
Original author/s: ESRI
Original location/s: How to consume custom geoprocessing tools in Java applications
Adapted by: Andy Evans (generalised and fixed return variable)
License: unknown
Imports and instance variables:
// None
Code:
private String getCurrentSrcDir(){ // Get classname, including package info. String fullyQualifiedClassName = this.getClass().getName(); // Strip off .class String classFile = fullyQualifiedClassName.substring(fullyQualifiedClassName.lastIndexOf(".") + 1) + ".class"; // Get the path to the running class. String pathIncludingClassFile = this.getClass().getResource(classFile).getPath(); // Convert package elements to directories in name. fullyQualifiedClassName = fullyQualifiedClassName.replace(".", "/"); // Strip the full name, including package directories, from path. String pathToSrcDir = null; String osName = System.getProperty("os.name"); if (osName.toLowerCase().startsWith("win")){ pathToSrcDir = pathIncludingClassFile.substring(1,pathIncludingClassFile.lastIndexOf(fullyQualifiedClassName) - 1); } else { pathToSrcDir = pathIncludingClassFile.substring(0,pathIncludingClassFile.indexOf(fullyQualifiedClassName) - 1); } return pathToSrcDir; }