最近一个项目里用到了JSR75-FileConnection,第一次用某个API总会出不少问题, 

这里记录下来,同时也和大家分享一下。

    本文问题:删除目录的时候是用FileConnection的delete()函数,发现对目录只有空的才能删除,

否则会报java.io.IOException。没办法,只能自己写一个删除函数了,目录、文件通统杀掉。

void delete() Deletes the file or directory specified in the Connector.open() URL.

/*

* function: 删除文件或者目录,如果是目录,则删除目录下所有子目录和文件.

* param: String name -- 要删除的文件或者目录全路径,比如: "file:///root1/testdir/"

* auther: smilelance

*/

    private void deleteDirFiles(String name){

      print("to be deleted: " + name);

      FileConnection fc = null;

      try {

        fc=(FileConnection)Connector.open(name);

        if(fc.exists()){

          if(!fc.canWrite()){

            print("file is read only.");

            fc.setReadable(true);

//            if(!fc.canWrite()){

//              print("read only after set");

//            }

          }

          if(fc.isDirectory()){

            Enumeration e = fc.list();

            while(e.hasMoreElements()){

              //System.out.println(e.nextElement());

              deleteDirFiles(name + e.nextElement());

            }

          }

          fc.delete();

        }else{

          print("file don't exsit!");

        }

     }catch (Exception   e) {

        System.out.println( "Error: "   +   e.toString());

      } finally   {

        try {

          fc.close();

        } catch(Exception   e) {

          System.out.println(e.toString());

        }

      }

    }