Iam在使用java的windows版本的桌面應用程序中工作。在我的應用程序中,需要搜索所有.php異常java.lang.NullPointerException
我使用遞歸方法;
和正則表達式
我的代碼:
import java.io.File;
public class Copier {
public static void find(String source,String rep)
{
File src=new File(rep);
if(src.exists() && src.isDirectory())
{
String[] tab=src.list();
for(String s:tab)
{
File srcc=new File(rep+"\\"+s);
if(srcc.isFile())
{
if(srcc.getName().matches(".*"+source+"$"))
System.out.println(s);
}
else
find(source,srcc.getAbsolutePath());
}
}
}
public static void main(String[] args)
{
find(".php","C:\\");
}
}
但我有這樣的例外:
Exception in thread "main" java.lang.NullPointerException
at Copier.find(Copier.java:11)
at Copier.find(Copier.java:21)
at Copier.main(Copier.java:28)
我的猜測是'src.list()'返回null,但我只是猜測行數。這可能會發生,例如,因爲您沒有對該目錄進行授權。 –
是的,但我訪問一個administartor –
好吧,如果該行是錯誤來自哪裏,出於某種原因你會得到一個文件錯誤。嘗試使用'canRead'測試位置。 –