Я создаю файл примерно так
try {
File file = new File(workingDir, obj.getName() + ".xls");
outputStream = new FileOutputStream(file);
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
И я получаю
java.io.FileNotFoundException: ..\a\relative\path\obj_name.xls (The parameter is incorrect)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
Что означает «неверный параметр»? Путь, который я проверил, существует; Разве это не должно просто создать имя файла? Это на машине Windows. Код работает без этой ошибки на Unix-системах.
Обновление
Проверено, существует ли файл, в который выходной поток пытается выполнить запись. Также проверено, что файл доступен для записи. После долгих раздумий я удалил фактический путь и просто передал имя файла (не желательно), и это работает. Таким образом, проблема имеет отношение к пути. Нужно ли бежать от персонажей на пути?