次のチェックでエラーが発生します...存在しないファイルを読み込もうとしたため...どうすればこのチェックを安全に行うことができますか?
File file = new File(getClass().getResource("/file.xml").getFile());
if(file.exists()==false){
//CREATE THE FILE
}
else{
//UPDATE THE FILE
}
Class.getResource()
WEB-INF/lib
クラスローダーを使用して、webapp のディレクトリ内の jar 内、または webapp 内にある 内のリソースの URL を返しますWEB-INF/classes
。これがファイルであると想定することはできませんし、想定してはいけません。通常、webapp は war ファイルとしてデプロイされます。とにかく、この戦争の内容は読み取り専用にしておく必要があります。
ファイルに書き込みたい場合は、webapp の外部のディレクトリでファイル IO を使用します。
の API をClass.
getResource()
見ると、このファイルが存在しない場合は null が返されることがわかります。したがって、これを行うだけです:
URL url = getClass().getResource("/file.xml");
if(url == null) {
// File does not exist
}
else {
// File exists
}
人々が言っているように、そのディレクトリ内のファイルに書き込めるとは限らないため、書き込むときは、それが外部の場所にあることを確認してください。