Solved

NEWBIE: Relative to what?

Posted on 2006-06-16
12
268 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
  • 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
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
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

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
eclipse java  build path 6 57
Error trying to install RTMT Win7 5 60
Arrays.asList  VS  ArrayList 4 60
web services creation SOAP vs REST 5 42
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

809 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