InputStream из относительного пути - PullRequest
34 голосов
/ 07 октября 2011

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

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

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

Спасибо

Ответы [ 4 ]

54 голосов
/ 08 октября 2011

Использование FileInputStream:

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

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

new BufferedInputStream(is);

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

38 голосов
/ 30 июля 2016
InputStream inputStream = Files.newInputStream(Path);
4 голосов
/ 03 сентября 2014

Инициализируйте переменную, например: Path filePath, а затем:

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

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

2 голосов
/ 08 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...