来自相对路径的InputStream

时间:2011-10-07 19:59:23

标签: java path io inputstream relative-path

我有相对文件路径(例如“/res/example.xls”),我想从该路径获取该文件的 InputStream 对象。

我检查了JavaDoc并没有找到构造函数或方法来从路径/

获取这样的InputStream

任何人都有任何想法?请让我知道!

谢谢

4 个答案:

答案 0 :(得分:54)

使用FileInputStream

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

但是从未从原始文件输入流中读取,因为这非常慢。首先用缓冲装饰器包裹它:

new BufferedInputStream(is);

BTW前导斜杠表示路径绝对,而不是相对路径。

答案 1 :(得分:36)

InputStream inputStream = Files.newInputStream(Path);

答案 2 :(得分:4)

初始化一个变量,如:Path filePath,然后:

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

完成! 使用Path,您可以访问许多有用的方法。

答案 3 :(得分:2)

new FileInputStream("your_relative_path")将与当前工作目录相关。