Ссылка на файл, какой правильный синтаксис - PullRequest
0 голосов
/ 25 февраля 2010

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

Правильна ли эта строка?

Файл newUploadedFile = новый файл ("D: \\" + fileName);

Дело в том, что файл правильно загружен в то место, куда я хочу, но я получаю ошибку:

java.io.IOException: неверный синтаксис имени файла, имени каталога или метки тома

Ответы [ 3 ]

6 голосов
/ 25 февраля 2010

Всегда избегайте обратной косой черты в строках Java.

File newlyUploadedFile = new File("D:\\" + fileName);

IOException вызвано тем, что система не находит файл, указанный в имени файла. Попробуйте добавить

newlyUploadedFile.exists();

и посмотри, что он вернёт. Если ваш путь возвращает false, значит, у вас ошибка в имени файла.

3 голосов
/ 25 февраля 2010

Во-первых, код, представленный в вопросе, не будет компилироваться.Но поскольку вы видели исключение IOException, вы явно выполняете другой код.

Чтобы получить исключение IOException с жалобой на синтаксис пути, на самом деле с именем пути должно быть что-то не так.Что на самом деле дает "D:\\" + fileName?Добавьте вызов к System.err.println(...), чтобы увидеть, что это такое.

1 голос
/ 25 февраля 2010

Примечания:

  1. Текст этого исключения поступает из операционной системы Windows, а не из Java.

  2. Нет необходимости использовать обратную косую черту в именах файлов Java. По крайней мере, если есть, я никогда не встречал его за 13 лет.

...