Я храню файлы без java в пакете. Я хочу читать файлы из этого пакета без указания абсолютного пути к файлу (например, C:\etc\etc...). Как мне это сделать?
Как прочитать файл (например, txt файл) из другого пакета java с указанием абсолютного пути?
Ответ 1
Используйте getResourceAsStream
Например:
MyClass.class.getResourceAsStream("file.txt");
Откроется file.txt
, если он в том же пакете, что MyClass
также:
MyClass.class.getResourceAsStream("/com/foo/bar/file.txt");
Откроется file.txt
на упаковке com.foo.bar
Удачи!:)
Ответ 2
Во-первых, убедитесь, что пакет, в котором содержатся ваши файлы, находится в вашем пути к классу приложений. Хотя вы не указали путь к файлам, вам все равно нужно получить пути к файлам для их чтения. Знаете ли вы имена всех ваших файлов и имена пакетов? Если это так, вы можете попробовать это, чтобы получить URL-адрес вашего файла:
public class Test {
public static void main(String[] args) throws Exception {
URL f = Test.class.getClassLoader().getResource("resources/Test.txt");
System.out.println(f);
}
}
приведенный выше код получает URL-адрес файла Test.txt в другом пакете с именем "resources".