• 締切済み

バイナリーファイル読み書き

現在あるクラスパスの通っているディレクトリーから バイナリーファイルを読み込み、書き込みを行おうとしております。 指定はフルパス形式ではなく、/sample/data/data.txt の様な形式で行います。 読み込みはFileInputStream、書き込みはFileOutputStreamにて 行います。通常のフルパス指定での読み書きを行える事は既に 確認済なのですが、上記の様な形式を読み込もうとするとエラーになります。 そこで、getResourceにより、ファイルを探索させて、得られたURLオブジェクトを 使用して読み書きを行いたいと思っておりますが、 どうしても、URLからFileOutputStreamあるいはFileInputStreamまでつながりません。 例えば、URLからURIに変換出来れば、その後FileクラスをURIから生成して、 FileOuputStream or FileInputStreamを生成する事が出来るのですが。。。 この例以外の方法でも構いません。よろしくお願いします。

みんなの回答

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.1

絶対パス(フルパス)であれば問題無いのであれば、相対パスの指定の仕方に問題があると思われます。 カレントディレクトリからの相対パスであれば、 /sample/data/data.txt では駄目ですね。 ./sample/data/data.txt と頭にピリオド(.)をつけて確認して見てください。

Vargas
質問者

お礼

セキュリティの問題?からかそういったものはない様ですね。ありがとうございました。

Vargas
質問者

補足

reader = new BufferedReader(new InputStreamReader(x.getClass().getResourceAsStream(/sample/data/data.txt))); これはBufferedReaderを使用したやつですが、これの出力版みたいなのがあればなぁ。 と思っております。getResourceAsStreamのOutputStreamを返してくれる様なやつ。

関連するQ&A