2015-11-25 5 views
0

Я пытаюсь вывести объект в файл, а приведенный ниже код отлично работает.Java: включение пути папки в имя файла для объекта File

val myFile = new File(myPath + "_" + myFileName) 
    val myData = new ObjectOutputStream(new FileOutputStream(myFile)) 

Однако, если я хочу, чтобы MyFileName под myPath как:

val myFile = new File(myPath + "/" + myFileName) 
    val myData = new ObjectOutputStream(new FileOutputStream(myFile)) 

Я получил java.io.FileNotFoundException.

Любая идея, что я, возможно, пропустил? Спасибо!

+3

Возможно, путь 'myPath' не существует. Вы также можете использовать 'File (String, String)', чтобы объединить элементы пути вместе. Подумайте, используя что-то вроде 'new File (myPath) .exists()', чтобы проверить, существует ли путь и/или 'File # mkdirs', чтобы создать путь - обязательно проверьте результат возврата, поскольку путь может быть недействительным или у вас нет прав на запись – MadProgrammer

ответ

2

Если папка myPath не существует, то будет отправлено сообщение FileNotFoundException. Сначала вы должны создать эту папку. Вы можете сделать это вручную или по методу mkdir() от File.

0

Эта ошибка, безусловно, связана с отсутствием папки, на которую ссылается «mypath» или myFileName. JDK7 имеет приятный абстракцию путь, в котором вам не придется беспокоиться о Разделительный символ (т.е. /)

Используйте Дорожки , например, для Путь р = Paths.get («C:», myPath, MyFileName) Вы можете извлечь файл-объект из пути и выполнить ли путь до начала любой обработки.