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