Итак, это строка, возвращающая нуль. Что я делаю неправильно при создании этого FileInputStream?FileInputStream Null?
FileInputStream fin = new FileInputStream(new File(getClass().getResource("data/levellocks.lv").toURI()));
Итак, это строка, возвращающая нуль. Что я делаю неправильно при создании этого FileInputStream?FileInputStream Null?
FileInputStream fin = new FileInputStream(new File(getClass().getResource("data/levellocks.lv").toURI()));
Если вы действительно не нужен входной файл потока, вы линия может быть упрощена:
InputStream in = getClass().getResourceAsStream("data/levellocks.lv");
Class.getResource() и Class.getResourceAsStream по сравнению с пакетом. Чтобы получить файл относительно корня пути к классам, вы можете вызывать эти методы на загрузчиком классов:
InputStream in = getClass().getClassLoader().getResourceAsStream("data/levellocks.lv");
ли вы убедитесь, что файл находится в папке двоичном, рядом с .class файлы? Не только в исходной папке рядом с файлами .java?
Единственное, что может быть пустым есть getResource («данные/levellocks.lv»), который звонит вызов Touri к сбою
, но может ли он быть Null, если файл есть? Потому что я дважды проверил, и это O_O – William
, он не смотрит в область, в которой вы думаете, что это – AHungerArtist
Либо GetClass или getResource может вернуть нуль. Все остальное должно преуспеть или сделать исключение.
Я на самом деле просто справился с этой проблемой (я не эксперт), но попробуйте отладки и посмотрим, где конструктор пытается разрешить имя. Для меня это был пакет класса. Поэтому, когда я помещаю файл в ожидаемую папку, он нашел его.
Возможно, для вас это будет отличаться, поскольку я использую maven. Но я поместил его в src/main/resources, и он не смог его найти. Когда я поместил структуру папок в src/main/resources com.work.hin.terminology.match (который был пакетом этого класса), он нашел его.
Точно, какая часть 'null'? Он не может быть плавником, так как 'new' никогда не возвращает' null'. –