永发信息网

java,无法正常使用File类

答案:2  悬赏:0  手机版
解决时间 2021-12-21 11:20
  • 提问者网友:活着好累
  • 2021-12-20 22:45
package pkDEMO1;
import java.io.*;
public class nFP {
String path;
nFP(String path){
this.path=path;
}
File f=new File(path);
String show(){
return f.getName();
}
}

package pkDEMO1;
import java.io.*;
public class nfpDEMO {
public static void main(String[] args){
nFP a= new nFP("f://abc.java");
a.show();
}
}

这是运行显示的:
Exception in thread "main" java.lang.NullPointerException
at java.io.File.(File.java:277)
at pkDEMO1.nFP.(nFP.java:8)
at pkDEMO1.nfpDEMO.main(nfpDEMO.java:5)
最佳答案
  • 五星知识达人网友:平生事
  • 2021-12-20 23:40
import java.io.*;
public class nFP {
String path;
File f;
public nFP(String path){
this.path=path;
System.out.print(this.path);
f = new File(path);
}
String show(){
return f.getName();
}

代码改成这样 你试试
你现在只是调用构造函数nFP()
但在new的时候它会先走File f=new File(path);

所以会出错
全部回答
  • 1楼网友:蓝房子
  • 2021-12-21 01:14
通过filetxt[ j ] ,看你是循环删除,你判断了文件是否存在,但是没有判断是否是文件夹、文件夹里是否还有文件 因为文件夹里有文件时,执行delete()是不成功的 此外,你在删除的文件,有可能正被其他人或程序打开,这个时候删除也不会成功 参考java api的java.io.file类: delete public boolean delete() 删除此抽象路径名表示的文件或目录。如果此路径名表示一个目录,则此目录必须为空才能删除。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯