Ссылка на файл, какой правильный синтаксис
-
22-09-2019 - |
Вопрос
Я пытаюсь ссылаться на место на моем компьютере, однако Java говорит мне, что у меня неправильный синтаксис.
Эта линия правильно?
File newlyuploadedFile = new File ("D: " + Filename);
Дело в том, что файл правильно загружается в то место, в которое я хочу, чтобы он перешел, но я получаю ошибку:
java.io.ioexception: имя файла, имя каталога или синтаксис метки тома неверно
Решение
Всегда убегайте за спиной в струнах Java.
File newlyUploadedFile = new File("D:\\" + fileName);
IOException вызвано тем, что система не найдет файл, который вы указали в имени файла. Попробуйте добавить
newlyUploadedFile.exists();
и посмотрите, что он возвращает. Если ваш путь возвращает ложь, у вас есть ошибка в имени файла.
Другие советы
Во -первых, код, представленный в вопросе, не будет компилироваться. Но так как вы видели ioException, вы явно запускаете другой код.
Чтобы получить ioException, жаловаться на синтаксис PathName, на самом деле должно быть что -то не так с PathName. Что значит "D:\\" + fileName
на самом деле дай тебе? Добавить звонок System.err.println(...)
Чтобы увидеть, что это такое.
Заметки:
Этот текст исключения поступает из операционной системы Windows, а не от Java.
В именах файлов Java никогда не нужно использовать обратную черту. По крайней мере, если я никогда не сталкивался с одним из 13 лет.