Подтвердить что ты не робот

InputStream от относительного пути

У меня есть относительный путь к файлу (например, "/res/example.xls" ), и я хотел бы получить объект InputStream этого файла с этого пути,

Я проверил JavaDoc и не нашел конструктора или метода для получения такого InputStream из пути /

У кого-нибудь есть идея? Пожалуйста, дайте мне знать!

Спасибо

4b9b3361

Ответ 1

Используйте FileInputStream:

InputStream is = new FileInputStream("/res/example.xls");

Но никогда не читайте из потока входных файлов, поскольку это ужасно медленно. Сначала оберните его буферизующим декоратором:

new BufferedInputStream(is);

Кстати, косая черта означает, что путь абсолютный, а не относительный.

Ответ 2

InputStream inputStream = Files.newInputStream(Path);

Ответ 3

Это легко! инициализируйте переменную типа: Path filePath, а затем:

                FileInputStream fileStream;
                try {
                    fileStream = new FileInputStream(filePath.toFile());
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }

Готово! Используя Path, вы можете получить доступ ко многим полезным методам.

Ответ 4

new FileInputStream("your_relative_path") будет относиться к текущему рабочему каталогу.