Solved

getResourceAsStream is returning null

Posted on 2004-09-01
12
539 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
  • 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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
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

ScreenConnect 6.0 Free Trial

Explore all the enhancements in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI, app configurations and chat acknowledgement to improve customer engagement!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
javap bin 2 34
eclipse apache tomcat admin console 52 97
iterator/ListIterator approach 17 27
eclipse console opening separately 2 21
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Go is an acronym of golang, is a programming language developed Google in 2007. Go is a new language that is mostly in the C family, with significant input from Pascal/Modula/Oberon family. Hence Go arisen as low-level language with fast compilation…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

777 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