2013-09-20 3 views
0

Я пытаюсь написать в файле с пути, как это:Не можете найти указанный путь при использовании .. посередине?

D: \ ABCD \ EFGH \ .. \ IJKL \ file.txt

Так у меня есть объект файла с таким путем, но в строке

FileOutputStream fos = new FileOutputStream(f); 

я получаю это:

java.io.FileNotFoundException: ..\ijkl\file.txt (The system cannot find the path specified) 

Кто-нибудь знает, что здесь не так? Есть ли возможность разрешить путь по абсолютному пути?

Инициализация объекта File:

File f = new File(strImagePath); 

strImagePath построен из различных струнных и выглядит точно так же, как пути, указанному выше.

Спасибо!

+6

Показать весь код, а не только случайные строки. Мы не можем видеть, что находится в 'f', и это именно то, где ваша проблема. – chrylis

+2

Что такое f variable? –

+1

Уверены, что вы не просто пропустили обратную косу «\» между «efgh» и «..» (ярлык для родительского каталога), т. Е. 'D: \ abcd \ efgh \ .. \ ijkl \ file.txt'? – A4L

ответ

0

По вашей коде Java пытается получить доступ к папке D: \ ABCD \ IJKL \ file.txt, как у вас есть место ..\ijkl\file.txt, но в вашей системе есть оленья кожа любого файл на этом пути. Таким образом, вы получаете ошибку. Редактировать: пожалуйста, попробуйте использовать D:\\abcd\\efgh\\../efgh\\ijkl\\file.txt

+0

file.txt существует в каталоге ijkl. Таким образом, проблема не является отсутствующим файлом. –

+0

- файл.txt присутствует внутри ijkl? – Yup

+0

Да, программа должна удалить уже существующие файлы. Файлы есть, и путь правильный. Кажется, что у java возникают проблемы, разрешающие «..» на пути. –

Смежные вопросы