然而所有这些引擎有一个共同的行为: 当getRealPath处理不存在的文件时,它们都不返回null!
解决之道
既然getRealPath总是返回一个路径,我们怎么知道它是否正确呢?最简单的方法是检查这个返回的路径是否存在。
这就是isVirtual方法要做的:在对一个给定的文件调用getRealPath以后,它使用了java.io来
存取这个文件,于是就可以知道它是否存在。
/**
* isVirtual
*
* Check if the path name is a virtual or not.
*
* @param pathName The name of the path to check.
*/
private boolean isVirtual(String pathName) {
// Check if it is a virtual path
if (m_application.getRealPath(pathName)!=null) {
java.io.File virtualFile = new java.io.File(m_application.getRealPath(pathName));
if (virtualFile.exists()) {return true;}
else {return false;}
}
else {return false;}
}









