If someFile.txt is in the same folder than LoadSAC.java, you can do:
InputStream is = LoadSAC.class.getResourceAsStream("someFile.txt");
If someFile.txt is in a subfolder subdir, you can do:
InputStream is = LoadSAC.class.getResourceAsStream("subdir/someFile.txt");
If your method in LoadSAC.java is non-static, you can replace LoadSAC.class.getResourceAsStream... by getClass().getResourceAsStream...
Be careful when compiling with ant or maven, by default, only .java file are copied as .class files in the build directory.
You have to write some rules to include someFile.txt in the final jar.
In your resource directory, you can add a little helper class like this:
import java.io.InputStream;
import java.net.URL;
import javax.activation.DataSource;
import javax.activation.URLDataSource;
public abstract class ResourceHelper {
public static URL getURL(String name) {
return ResourceHelper.class.getResource(name);
}
public static InputStream getInputStream(String name) {
return ResourceHelper.class.getResourceAsStream(name);
}
public static DataSource getDataSource(String name) {
return new URLDataSource(getURL(name));
}
}
In LoadSAC.java just call:
InputStream is = ResourceHelper.getInputStream("someFile.txt");