Невозможно загрузить носитель в JavaFX [дубликат]

Был вопрос об этом совсем недавно для C # ... - читайте ответы там также, так как это в основном то же самое. Вы также можете найти последнее сообщение в блоге Эрика Липперта ; это, по крайней мере, около одной и той же области, хотя и имеет несколько другую направленность.

В принципе, для того, чтобы переменной было присвоено значение, прежде чем вы прочитаете, это хорошая вещь. Это означает, что вы случайно не прочитаете то, чего не хотели. Да, переменные могут иметь значения по умолчанию - но не лучше ли, чтобы компилятор смог поймать вашу ошибку, если это может доказать, что вы пытаетесь прочитать что-то, что еще не было назначено? Если вы хотите присвоить локальную переменную значение по умолчанию, вы всегда можете назначить это явно.

Теперь это нормально для локальных переменных, но, например, для статических переменных и переменных, компилятор не имеет способа узнать порядок в какие методы будут называться. Будет ли вызвано свойство «сеттер» перед «геттером»? Он не может знать, поэтому он не может предупредить вас об опасности. Вот почему значения по умолчанию являются , используемыми для экземпляра / статические переменные - по крайней мере, тогда вы получите известное значение (0, false, null и т. Д.), А не просто «все, что было в памяти в то время «. (Он также устраняет потенциальную проблему безопасности чтения конфиденциальных данных, которые не были явно стерты.)

2
задан Winged 29 October 2014 в 09:05
поделиться

1 ответ

Хорошо, я нашел причину проблемы - путь, по которому я прошел файл видеопакета, был неправильным:

Вместо использования Media media = new Media("file:///home/winged/IdeaProjects/MoviePlayer/video/barsandtone.flv");

я должен использовать Media media = new Media(new File("file:///home/winged/IdeaProjects/MoviePlayer/video/barsandtone.flv").toURI().toString());

1
ответ дан Nash 17 August 2018 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: