からオブジェクトを作成しFileInputStream
、ファイルの相対値をそのコンストラクターに渡そうとしましたが、正しく機能せず、FileNotFoundException
try {
InputStream is = new FileInputStream("/files/somefile.txt");
} catch (FileNotFoundException ex) {
System.out.println("File not found !");
}
からオブジェクトを作成しFileInputStream
、ファイルの相対値をそのコンストラクターに渡そうとしましたが、正しく機能せず、FileNotFoundException
try {
InputStream is = new FileInputStream("/files/somefile.txt");
} catch (FileNotFoundException ex) {
System.out.println("File not found !");
}
最初の/
は、パスを相対パスではなく絶対パスにします。
先頭の を削除してみてください。次の/
ように置き換えてください。
InputStream is = new FileInputStream("/files/somefile.txt");
と:
InputStream is = new FileInputStream("files/somefile.txt");
それでも問題が解決しない場合は、現在のディレクトリを確認して、考えている場所からプログラムが実行されていることを確認してください。
System.out.println(System.getProperty("user.dir"));
他のポスターは、あなたが与えているパスは相対パスではありません。のようなことができる可能性がありますthis.getClass().getResourceAsStream("Path relative to the current class")
。これにより、呼び出し元のクラスへの相対パスに基づいて、ファイルをストリームとしてロードできます。
詳細については、Java API を参照してください: http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResourceAsStream(java.lang.String)
InputStream is = new FileInputStream("C:/files/somefile.txt");
/
Windowsは「ルート」としてのシンボルをサポートしていません
JARに入れるファイルをロードする場合は、次を使用する必要があります。
getClass().getResource("path to your file");
また
getClass().getResourceAsStream("path to your file");