Вопрос

Я пытаюсь ссылаться на место на моем компьютере, однако 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(...) Чтобы увидеть, что это такое.

Заметки:

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top