Solved

getResourceAsStream is returning null

Posted on 2004-09-01
12
544 Views
Last Modified: 2010-03-31
Hello All,

I am facing problem with getResourceAsStream. When I have tested this with following test application also, it is raising problem.

When I bundle the class into jar and trying to run then it is returning null. otherwise it is running perfectly

What is the mistake  I am doing here.

public class Test{
      /**
       *
       * @param arguments
       * @throws Exception
       */
      public static void main(String arguments[])throws Exception
      {
            Test test=new Test();
            InputStream in =test.getClass().getResourceAsStream("a.txt");
            if(in==null)
            {
                  System.err.println("Error Raised here");
            }
            while(true && in!=null)
            {
                  int c=in.read();
                  if(c==-1 || c>=255)
                        break;
                  System.err.print((char)c);
            }
            
      }

}
0
Comment
Question by:sudhakar_koundinya
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 3
  • 3
12 Comments
 
LVL 35

Accepted Solution

by:
girionis earned 50 total points
ID: 11956672
What happens if you do this:

URL url = getClass().getResource("a.txt");
InputStream is = url.openStream();
0
 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11956680
even I have tried this also

object.getClass().getResourceAsStream("/class/a.txt");
0
 
LVL 35

Expert Comment

by:TimYates
ID: 11956779
where is the file in the jar?

I suspect you'll need:

    object.getClass().getResourceAsStream("/a.txt");
0
Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11956783
girionis,
 I got that

What is the problem with my code??
0
 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11956788
>>object.getClass().getResourceAsStream("/a.txt");

Even that doesn't worked for me
0
 
LVL 35

Expert Comment

by:girionis
ID: 11956795
Nothing special, it is the same (I think so) as the one TIm suggsted also (putting the / in front of the resource).
0
 
LVL 35

Expert Comment

by:TimYates
ID: 11956800
Test.class.getResourceAsStream( "/a.txt" ) ;

should work too...
0
 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11956849
>> Test.class.getResourceAsStream( "/a.txt" ) ;

even that doesn't worked

In jar file

class and text file are like this

mytest/Test.class
mytest/a.txt


0
 
LVL 35

Expert Comment

by:TimYates
ID: 11956980
As girionis said then, its

  Test.class.getResourceAsStream( "a.txt" ) ;

(or)

  Test.class.getResourceAsStream( "/mytest/a.txt" ) ;
0
 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11957002
sorry TimeYates,

After testing all combinations, then only I posted this question

thanks
Sudhakar
0
 
LVL 14

Author Comment

by:sudhakar_koundinya
ID: 11957035
Ok, I decieded to use getResource

thanks for helping me :)
0
 
LVL 35

Expert Comment

by:girionis
ID: 11957616
:)
0

Featured Post

What Is Transaction Monitoring and who needs it?

Synthetic Transaction Monitoring that you need for the day to day, which ensures your business website keeps running optimally, and that there is no downtime to impact your customer experience.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question