Solved

NEWBIE: Relative to what?

Posted on 2006-06-16
12
271 Views
Last Modified: 2010-03-31
Dear Experts,

When I specify a relative path to a file, such as:

FileInputStream fis = new FileInputStream ( "filename.ext" )

is the path relative to where java.exe is located, or relative to where my class is located?

Thanks,
BrianMc1958
0
Comment
Question by:BrianMc1958
[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
  • 7
  • 5
12 Comments
 
LVL 30

Expert Comment

by:Mayank S
ID: 16920638
Relative to the directory where you are running it from:

C:\MyDir> java someClass

The file will be looked for in C:\MyDir

someClass can be anywhere in the class-path
0
 

Author Comment

by:BrianMc1958
ID: 16920675
I take that to mean it's relative to where java.exe is, not from where the class is.  Right?  (That seems to be what I'm seeing here...)
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16920729
No, java.exe can also be located anywhere in the PATH environment variable, and can be called from any directory therefore.
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 30

Expert Comment

by:Mayank S
ID: 16920787
The PATH environment variable contains directory-paths whose files (generally executables) can be called from anywhere. If I am calling java.exe from C:\MyDir, then java.exe need not be present there. The OS will first look in the current directory to locate it. If it is not found, it will look into the directories in the PATH variable and search for java.exe there.
0
 

Author Comment

by:BrianMc1958
ID: 16920814
I'm sorry.  I'm still confused.  So is the answer to my question is "Neither.  The 'relative' means 'relative to your current working directory'"?
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16920816
So you can have java.exe present in "C:\program files\Java\jdk1.5.0_06\bin" and as long as that directory is in the PATH, you can call java.exe from anywhere, say C:\MyDir
0
 

Author Comment

by:BrianMc1958
ID: 16920825
In other words, it "relative to C:\MyDir"?
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16920831
>> The 'relative' means 'relative to your current working directory'"

Yes. The location of java.exe, the location of the class that is being run and the location of the directory where you are running the class from can all be different.
0
 
LVL 30

Accepted Solution

by:
Mayank S earned 125 total points
ID: 16920832
>> it "relative to C:\MyDir"?

Correct.
0
 

Author Comment

by:BrianMc1958
ID: 16920844
As a side note, all of our last four posts "crossed in the mail", yet still make perfect sense.  
0
 

Author Comment

by:BrianMc1958
ID: 16920854
Make that last six posts.  I'd better quit.  This is getting creepy.
0
 
LVL 30

Expert Comment

by:Mayank S
ID: 16920867
You still have doubts about this?
0

Featured Post

Transaction Monitoring Vs. Real User Monitoring

Synthetic Transaction Monitoring Vs. Real User Monitoring: When To Use Each Approach? In this article, we will discuss two major monitoring approaches: Synthetic Transaction and Real User Monitoring.

Question has a verified solution.

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

Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

688 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