Jar files and classes don't have a "current directory".
The process in which your classes are running has a current working directory, and there's a system property which tells you what that is. But I'm guessing you are trying to ask about something else. Can we go back one step from your question and find out what your earlier question was? The one to which the answer was "Use the current directory of a class".
You can actually put the images inside the jar file, and use the Class.getResource() method to load them from there, instead of using FileInputStreams(). Check out the Javadoc for java.lang.Class.getResource().
For now, don't fuss about class loaders. Using classes to get the resources will do just fine.
You need to learn something about the locations used in getResource. Use / to separate paths (I don't know if this is strictly necessary, but just use it. It makes the code portable). Use a leading / to have the resource be located relative to the start of your package, or omit it to have it be located relative to the class file itself. For example:
Now the following are valid: Test.class.getResource("pic1.gif") Test.class.getResource("images/pic2.gif") Test.class.getResource("/images/pic3.gif")
Now your question what to do with the URL. If you want to load images, javax.swing.ImageIcon can take that URL and load the image from it. You can use the ImageIcon in any JLabel or JButton without a problem. Now if you need the actual contents of the resource, use getResourceAsStream instead of getResource. This will return a java.io.InputStream from which you can read until there is no more data.
Please be aware that both getResource and getResourceAsStream return null if the resource cannot be found.