import java.io.*;
class fileaccept implements FilenameFilter
{ String str;
  fileaccept(String s)
  { str="."+s;}
  public boolean accept(File dir,String name)
  { return name.endsWith(str);}
}public class example102
{ public static void main(String args[])
  { File dir=new File("G:\\电子书");
    File deletef=new File(dir,"e.java");
    System.out.println(deletef.getName()+" "+deletef.getAbsolutePath());
    fileaccept acceptcondition=new fileaccept("java");
    File filename[]=dir.listFiles(acceptcondition);
    for(int i=0;i<filename.length;i++)
    { System.out.println("file name:"+filename[i].getName());}
   boolean boo=deletef.delete();
   if(boo)
   { System.out.println("file"+deletef.getName()+"is deleted");}
  }
}
第一个问题: 我编译并成功运行了,但最后一步,也就是deletef.delete()这步,没有删除啊,就那个System.out.println("file"+deletef.getName()+"is deleted")这步没有运行,这是为什么啊?文件明明建立起来了啊!第二个问题:使用FileDialog时,为什么叉掉那个文件对话也会产生ActionEvent事件?说是叉掉,其实只不过是隐藏了罢了嘛

解决方案 »

  1.   

    public boolean accept(File dir,String name)
      { return name.endsWith(str);}
    你的dir有什么用?
      

  2.   

    if(file.exists()){
    file.delete();
    System.out.println("文件删除成功");
    }else{
    System.out.println("该文件根本就没有创建");
    }
    用这个试下 你的文件好象根本就没有创建 
      

  3.   

    同顶,问什么文件根本没建立啊,
    System.out.println(deletef.getName()+" "+deletef.getAbsolutePath());
      这句已经在控制台上打印了:
    e.java G:\电子书\e.java求解!!!
      

  4.   

    定义一个File对象的时候可能这个对象所对应的文件根本不存在,你所说的创建是你自己手工创建的还是指什么?如果确实手工创建的话为什么会不执行下面的语句呢?唯一的理解只能是你执行了代码两次。
      

  5.   

    第二个问题我觉得问了没意义·~关了会有一个Action发生有问题吗?
      

  6.   

      帮你改好了,其实File dir=new File("G:\\errors");并没有创建这个目录,虽然new了,但其实只是尝试找到这个目录,如果没有也不会自动创建。
       必须使用 dir.mkdir();才会真正创建目录。
       文件同样道理,你自己看看代码吧,我想你程序应该就是这个目的吧。
    把分给我吧,这么及时给你正确解答····
     File dir=new File("G:\\errors");
       if(!dir.exists())
       dir.mkdir();
      File deletef=new File(dir,"e.java");
       if(!deletef.exists())
    try {
    deletef.createNewFile();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
      

  7.   

    ,这个dir不是系统自动初始化么?
      

  8.   

    当使用File类创建对象后,如果G:\目录下没有对应文件,它不会自动创建么?不会自动调和public boolean createNewFile()?
      

  9.   

    顺便问一下,你用的是什么edit工具啊,还自动加注释了,我的一直很原始啊,就notepad.exe
      

  10.   

    有兴趣练就继续记事本,要不就Eclipse