Созданный файл не имеет родительского?

В java-программе я создаю файл с

File temp = new File("temp");
temp.createNewFile();

Тогда по какой-то причине, когда я пишу

File pDir = temp.getParentFile();

и pDir равно null. Я действительно хочу написать

File pDir = temp.getParentFile().getParentFile();

но это исключает исключение нулевого указателя.

Ответ 1

Вам нужен файл с таким путем, попробуйте getAbsoluteFile.

File pDir = temp.getAbsoluteFile().getParentFile();

Ответ 2

Вы создаете файл под названием temp, но у него нет пути, поэтому родительский путь не будет. Если вы хотите поместить файл в текущий каталог:

File temp = new File(System.getProperty("user.dir")+"/temp");
File parent = temp.getParentFile();