I have a program that reads numbers from a .txt
file. My problem is where to place this file, or how to reference it with a relative path to make this file accessible without using the absolute path.
Asked
Active
Viewed 3.0k times
10

gangwerz
- 435
- 2
- 8
- 18
5 Answers
19
When you try to open a file, it takes your current working path. For example this working tree:
Project
|->src
| |-->MyClass.java
| |-->MyFile1.txt
|->res
|->files
|-->MyFile2.txt
You can use new File("MyFile1.txt");
for MyFile1.
or
new File("./res/files/MyFile2.txt");
for MyFile2.

Fran
- 521
- 4
- 20
-
And of course import your text file to your working directory – Fran Jun 10 '15 at 20:31
5
If you have a multi-project setup, it may not be obvious what the "root" directory is for a relative path. In that case, open the Terminal
tab in your IntelliJ and see what directory it lands in. That is the "root" directory. Your relative path should start there.

Big Pumpkin
- 3,907
- 1
- 27
- 18
0
@Big Pumpkin Not sure about the terminal showing me the path of the "root". But it does turn out to be the top most directory in a multi-module project.

Sasha Kolsky
- 432
- 1
- 5
- 14
0
If file1.txt in 'src' it will have path as "src\main\java\file1.txt". Relative path starts from src.