Я немного застрял в проекте, над которым я работаю, где я хочу загрузить текстовый файл из другой папки. Я использую Netbeans, и для целей этой проблемы у меня есть две папки, одна с моим классом и одна с ресурсом.
Класс находится в ../misc/[ClassName]
, а текстовый файл, который я хочу загрузить, находится в ../resources/[Name].txt
Это звучит невероятно просто, и, занимаясь Java довольно долго, я действительно должен это знать, я предположил, что лучший способ загрузки этого файла вместо использования FileReader - использовать getResourceAsStream
, как показано ниже:
InputStream is =
this.getClass().getClassLoader().getResourceAsStream(_filename + ".txt");
В идеале экономит мое время и не требует жесткого кода в пути к файлу. Теперь моя проблема в том, что я постоянно получаю нулевое значение, возвращаемое из приведенного выше кода, и любую другую перестановку, которую я могу добавить к нему. Я пробовал /resource/filename.txt
или resource/filename.txt
в качестве параметров, используя .getClass().getResourceAsStream
вместо getClassLoader()
, все по-прежнему возвращает тот же результат.
Просто, чтобы избежать путаницы, я проверил имя файла и оно определенно правильно, а также в правильном случае и т. Д., Так что это не проблема. Есть идеи? Я знаю, что мог бы просто использовать FileReader
для достижения той же цели, но это своего рода принципиальная вещь сейчас!