web-dev-qa-db-fra.com

InputStream du chemin relatif

J'ai un chemin de fichier relatif (par exemple "/res/example.xls") et je voudrais obtenir un InputStream objet de ce fichier à partir de ce chemin.

J'ai vérifié le JavaDoc et n'ai pas trouvé de constructeur ou de méthode pour obtenir un tel InputStream à partir d'un chemin /

Quelqu'un a une idée? S'il vous plaît, faites-moi savoir!

Merci

36
Allan Jiang

Utilisez FileInputStream :

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

Mais ne lisez jamais à partir du flux d'entrée de fichier brut car cela est terriblement lent. Enveloppez-le d'abord avec un décorateur tampon:

new BufferedInputStream(is);

La barre oblique principale BTW signifie que le chemin est absolu , pas relatif.

56
InputStream inputStream = Files.newInputStream(Path);
38
Shakirov Ramil

Initialisez une variable comme: Path filePath, et alors:

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

Terminé ! En utilisant Path, vous pouvez avoir accès à de nombreuses méthodes utiles.

4
Christian Ceballos

new FileInputStream("your_relative_path") sera relative au répertoire de travail courant.

2
michael667