Are you using a Java with Maven project? Assuming so, the process for what you are asking is a two step one: 1) Ensure the files you wish to access are located under the src/main/resources folder as shown here: https://i0.wp.com/www.dineshonjava.com/wp-content/uploads/2016/10/Maven-dirctory-structure.png?w=728&ssl=1 <https://i0.wp.com/www.dineshonjava.com/wp-content/uploads/2016/10/Maven-dirctory-structure.png?w=728&ssl=1> Doing this should ensure that the file is picked and included in the compiled jar file. 2) You will need to add to your code. What exactly you add will depend on whether you are opening the file from a static member or a proper member function and whether you really need an FileInputStream or just an InputStream. I have pasted some code to illustrate:

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.net.URISyntaxException; import java.net.URL; import java.util.Scanner; /**  *  * @author parrysg  */ public class ResourceTest {     public static void main(String[] args) throws URISyntaxException, FileNotFoundException {         URL url = ResourceTest.class.getResource("/simpleResource.txt");         FileInputStream fs = new FileInputStream(new File(url.toURI()));         Scanner input = new Scanner(fs);         System.out.println(input.nextLine());         InputStream is = ResourceTest.class.getResourceAsStream("/simpleResource.txt");         Scanner input2 = new Scanner(fs);         System.out.println(input2.nextLine());     } }

In the above code, I have used main (i.e. a static member), but if you are opening within a non-static member, it is better to use getClass():

InputStream is = getClass().getResourceAsInputStream();

Note that, if you do just use InputStream, the Exception imports and throws are not needed; it's overall much simpler.

regards

Stephen Parry


On 23 June 2024 15:50:14 BST, Ulf Zibis <ulf.zi...@cosoco.de> wrote:

   Hi, I have a resource file im my project under the folder
   "resources". From my code, the file is accessed by: FileInputStream
   rs = new FileInputStream(new File("resources/Palm8BitColors.pal"));
   This works fine, when I run the application under NetBeans IDE. But
   the resource file is not included in the JAR file under "dist", so
   it won't run independently of NetBeans. How is the correct way to
   integrate and access the file into the JAR? Thanks -Ulf
   ------------------------------------------------------------------------
   To unsubscribe, e-mail: users-unsubscr...@netbeans.apache.org For
   additional commands, e-mail: users-h...@netbeans.apache.org For
   further information about the NetBeans mailing lists, visit:
   https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to