I have read sources here & there, but did not get the following code working. Basically, I wish to read a text file, named \'Administrator\' from the folder \'src\'. I will
Now I get it, somewhat answers here & there do help in getting me to the goal. Did a short edit to my code & it worked. Hope it'll also help some poor souls out there.
String filePath = new File("").getAbsolutePath();
System.out.println (filePath);
//http://stackoverflow.com/questions/2788080/reading-a-text-file-in-java
//http://stackoverflow.com/questions/19874066/how-to-read-text-file-relative-path
BufferedReader reader = new BufferedReader(new FileReader(filePath + "/src/DBTextFiles/Administrator.txt"));
try
{
String line = null;
while ((line = reader.readLine()) != null)
{
if (!(line.startsWith("*")))
{
System.out.println(line);
}
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
finally
{
reader.close();
}
This is a valid absolute path (on the systems I'm aware of):
/path/to/directory/../../otherfolder/etc/
So what the other answer was saying, was to get the path to the current directory with:
String filePath = new File("").getAbsolutePath();
Then concatenate your relative path with:
filePath.concat("path to the property file");
This is not correct:
new FileReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt"))
You want:
new InputStreamReader(getClass().getResourceAsStream ("/DBTextFiles/Administrator.txt"))
In almost all cases you should use the portable forward slash "/"."
In every case you should use either the File constructor that accepts a File (parent) & String (file name) or use System.getProperty("file.separator").