Проблема неверного пути в Java NIO;недопустимо <:>, вызвано неверным предыдущим символом - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь загрузить файл изображения в базу данных sqlite через его путь к файлу, используя следующий код

// Upload image to table //
            byte[] bytesFromFile = null;
            try {
                String fileName = imageField.getText();
                File f = new File(fileName);
                bytesFromFile = Files.readAllBytes(f.toPath());
            } catch (Exception e) {
                e.printStackTrace();
            }

            stmt.setBytes (12,  bytesFromFile);

При выполнении я получаю эту ошибку

java.nio.file.InvalidPathException: Illegal char <:> at index 2: ?C:\Users\SAMUE\Downloads\BigWindow.jpg

Что я нахожу очень странным, так это то, что я мог абсолютно поклясться, когда проверил это два дня назад, все работало нормально, но, возможно, я просто схожу с ума.

Я пытался реализовать другие решения для подобных проблем здесь (преобразование в uri и т. Д.), Но они либо не работают, либо я просто не знаю, как реализовать их так, как мне нужно.

Я не знаю, является ли это полезной информацией, но при всех подобных проблемах виновником казался ведущий символ '\', но, как вы видите, я поставил этот знак вопроса наначало пути к файлу, я предполагаю, что это может быть источником проблемы или просто затмением.

РЕДАКТИРОВАТЬ :

Здравствуйте, очень жаль тратить ваше время, я нашел решение, похоже, получение пути из TextField с добавлением этого "?", Япросто взял подстроку после нее, и теперь она работает нормально.Я оставляю это в надежде, что любому, у кого есть подобная проблема, можно помочь.Если вы думаете, что это лучше удалить, дайте мне знать.

...