Linux上でJavaによるファイルアクセスにこのような問題が発生したのは初めてです。問題は、ファイルが実際に存在するときに、FileNotFoundException
がスローされるというヘッダーと同じです。さらに、同じ設定(props.txtファイル)を持つアプリケーションは、Windows上で実行する必要があります。 なぜLinux上にFileNotFoundExceptionがスローされるのですか
private void readProperties(String args) throws FileNotFoundException, IOException {
System.out.println("Parent: " + new File(args).getAbsoluteFile().getParentFile().getAbsolutePath());
CommonTools.PrintArray(new File(args).getAbsoluteFile().getParentFile().list());
properties.load(new FileInputStream(new File(args).getAbsoluteFile())); // this line throws the exception
stageNumber = Integer.parseInt(properties.getProperty(PROP_STAGE_NUMBER_KEY, "0"));
}
はprops.txt
ファイルが見つからない、なぜ私は、コンソール出力
[email protected]:~/netcrawler/dkpto$ ls -l total 20 -rwxrw-rw- 1 datasu datasu 114 Aug 7 15:53 autoupdate drwxr-xr-x 4 datasu datasu 4096 Aug 8 11:57 data drwxr-xr-x 2 datasu datasu 4096 Aug 8 11:57 log -rw-rw-rw- 1 datasu datasu 32 Aug 8 12:44 props.txt -rwxrw-rw- 1 datasu datasu 126 Aug 8 12:55 propsUpdate [email protected]:~/netcrawler/dkpto$ ./propsUpdate Parent: /usr/home/datasu/netcrawler/dkpto 1# -> propsUpdate 2# -> autoupdate 3# -> props.txt 4# -> data 5# -> log (No such file or directory)ava.io.FileNotFoundException: /usr/home/datasu/netcrawler/dkpto/props.txt at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.(Unknown Source) at netcrawler.Autoupdater.readProperties(Autoupdater.java:71) at netcrawler.Autoupdater.start(Autoupdater.java:54) at netcrawler.Autoupdater.main(Autoupdater.java:47) [email protected]:~/netcrawler/dkpto$ java -version java version "1.6.0_45" Java(TM) SE Runtime Environment (build 1.6.0_45-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode) [email protected]:~/netcrawler/dkpto$
の少しを提供しようと、ここでのJavaコードは、(少なくとも./propsUpdate
を呼び出した後に)その出力を生成するための責任があります実際にそこにいるときは?
実際のパスは '/ usr/home/datasu /'ですか?私はあなたのlinux/unix版を知らないが、通常は '/ home/...'に何かあるのではないか?特にホームディレクトリを参照する最初の行に '〜/'を表示しているからです。 – DrColossos
これはあなたのためのPWDの結果です: datasu @ dedi2392:〜/ netcrawler/dkpto $ pwd - > /usr/home/datasu/netcrawler/dkpto – Antoniossss
'readPropertiesに渡す' args'の正確な構文は何ですか? '? –