我的代码如下:
package code;
import java.io.*;
class FileTest
{
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException, InterruptedException , NullPointerException
{
/*for(int i = 0 ; i<5; i++)
{
File f = File.createTempFile("wensun", "tmp");
f.deleteOnExit();
Thread.sleep(3000);
}*/
File fDir = new File(File.separator);
String strFile="Workspace"+File.separator+"javalearing"+File.separator+"src";
File f = new File(fDir,strFile);
String[] names = f.list();
for(int i=0;i<=names.length;i++)
{
System.out.println(names[i]);
}
}}结果elipse给我报错:
Exception in thread "main" java.lang.NullPointerException
at code.FileTest.main(FileTest.java:35)
package code;
import java.io.*;
class FileTest
{
/**
* @param args
* @throws IOException
* @throws InterruptedException
*/
public static void main(String[] args) throws IOException, InterruptedException , NullPointerException
{
/*for(int i = 0 ; i<5; i++)
{
File f = File.createTempFile("wensun", "tmp");
f.deleteOnExit();
Thread.sleep(3000);
}*/
File fDir = new File(File.separator);
String strFile="Workspace"+File.separator+"javalearing"+File.separator+"src";
File f = new File(fDir,strFile);
String[] names = f.list();
for(int i=0;i<=names.length;i++)
{
System.out.println(names[i]);
}
}}结果elipse给我报错:
Exception in thread "main" java.lang.NullPointerException
at code.FileTest.main(FileTest.java:35)
...不知道是什么路径...
如果要得到src的路径的话可以用
File f = new File("." + File.separator + "src");
f就表示src文件夹
另外你的输出循环错了,应该是<names.length
可能返回是null,所以报错吧!
发现我的错误跟你的不一样。运行结果:
code
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at code.FileTest.main(FileTest.java:25)
我把其中循环条件改了一点 for(int i=0;i<names.length;i++)
{
System.out.println(names[i]);
}这样运行就没有异常了。我推测你的异常可能也和这个有关系。请你仔细对比一下。或者告诉大家你要实现什么功能。方便大家给你解决问题。谢谢
这行代码出现空指针异常。
String strFile="Workspace"+File.separator+"javalearing"+File.separator+"src";
File f = new File(fDir,strFile);
你的这段代码创建了一个File对象,但是这个对象所对应的file在你的磁盘里面应该不存在的,你可以用File 的
isexist()判断一下
所以这个代码String[] names = f.list();中的names 是null,所以在下面调用这个names 的length属性
的时候就会报空指针异常。