相対ファイルパス(たとえば、「/ res/example.xls」)があり、そのパスからそのファイルのInputStreamオブジェクトを取得したい。
JavaDocをチェックしましたが、パス/からこのようなInputStreamを取得するコンストラクターまたはメソッドが見つかりませんでした
誰もが考えていますか?私にお知らせください!
ありがとうございました
FileInputStream
を使用します。
InputStream is = new FileInputStream("/res/example.xls");
しかし、これはひどく遅いので、生のファイル入力ストリームから決して読み取らないでください。最初にバッファリングデコレータでラップします。
new BufferedInputStream(is);
BTWの先頭のスラッシュは、パスが相対ではなくabsoluteであることを意味します。
InputStream inputStream = Files.newInputStream(Path);
次のような変数を初期化します:Path filePath
、 その後:
FileInputStream fileStream;
try {
fileStream = new FileInputStream(filePath.toFile());
} catch (Exception e) {
throw new RuntimeException(e);
}
できた! Pathを使用すると、多くの便利なメソッドにアクセスできます。
new FileInputStream("your_relative_path")
は、現在の作業ディレクトリに相対的です。