Я преобразовал простое приложение NetBeans 8 Java FXML в управляемый Maven. Тогда у меня возникли проблемы, потому что методы getResource()
не смогли найти файлы .fxml. В моем первоначальном приложении fxmls были разбросаны по дереву пакетов - каждый рядом с файлом класса контроллера. После того, как я сделал Clean и построил в NetBeans, я проверил результат .jar в целевой папке - .jar вообще не содержал никакого fxml. Все fxmls были странно исчезли.
Затем я поместил все fxmls в папку resources / fxml и соответственно установил параметры метода getResource, например: FXMLLoader(App.class.getClassLoader().getResource("fxml/ObjOverview.fxml"));
. В этом случае все прошло нормально. Папка fxml появилась внутри корня .jar и содержала все мои fxmls. Программа работает как ожидалось.
Документы указывают один вариант использования для FileInputStream
:
FileInputStream предназначен для чтения потоков необработанных байтов, таких как данные изображения. Для чтения потоков символов рассмотрите использование FileReader.
blockquote>Так что для читателей применяется обратное.
A
FileInputStream
читаетbyte
поbyte
, в то время какBufferedReader
читаетchar
поchar
.Так что, если вы читаете что-то с символами, используйте Reader. Если вы читаете двоичные данные, используйте Stream.
Использование сканера является хорошим вариантом для чтения файлов. Вы можете построить объект Scanner, используя объект File , InputStream или Path . Кроме того, сканер предоставляет вам несколько встроенных функций, которые могут считывать большинство примитивных типов непосредственно из источника.
Вот пример кода для использования сканера для чтения длинных значений из файла:
Scanner sc = new Scanner(new File("myNumbers.txt"));
while (sc.hasNextLong()) {
long aLong = sc.nextLong();
}
Обсуждение здесь может быть полезным ресурсом для вас: Чтение простого текстового файла в Java
Я также считаю этот ресурс полезным для моих исследований: Способы чтения текстового файла на Java