Please delete it in windows.
Because it isn't a right name in DOS,so you can't receive right result to operate it in DOS.

解决方案 »

  1.   

    都说了 tc&资源管理器里无法删除 说是无法读取文件....
    一般情况也是windows下删除不了的可以在dos下删除di
      

  2.   

    首先要删除该目录下所有文件和目录的哦。File f = new File("D:\\Program File\\金山毒霸 6 ")
    f.delete();
      

  3.   

    既然explorer里都删不掉,估计这个和空格没有关系吧
      

  4.   

    楼主 ren一下可以吗?试试看~
    不过我的机子上也有一个文件删不掉 改了名字也不行~ 不是空格的问题,不解....
    你试试看~ 好的话发短消息给我就噢了~~
      

  5.   

    这么简单的问题
    String.trim();
      

  6.   

    晕啊...
    如果能ren不就能删掉了吗...
    这个和安全模式有关系吗?C:\Documents and Settings\All Users\「开始」菜单\程序>del "金山毒霸 6 "
    找不到 C:\Documents and Settings\All Users\「开始」菜单\程序\金山毒霸 6C:\Documents and Settings\All Users\「开始」菜单\程序>rd "金山毒霸 6 "
    系统找不到指定的文件。C:\Documents and Settings\All Users\「开始」菜单\程序>ren "金山毒霸 6 " ccc
    系统找不到指定的文件。这是命令执行的结果...
      

  7.   

    回复人: takecare(大厅) ( ) 信誉:119  2004-09-08 18:21:00  得分: 0  
     
     
       首先要删除该目录下所有文件和目录的哦。File f = new File("D:\\Program File\\金山毒霸 6 ")
    f.delete();TO:
    执行结果
    System.out.println(f.delete());
    Flase  
     
      

  8.   

    哦, 这样的话只能从以下几个方面着手:
    1、文件夹下面有没有别的什么任何文件,如果有则递归删除之;
    2、确定文件属性是否可写或者是什么隐藏文件,如果有问题就通过类似于以下的代码来修改属性:
    private static void writable(File readOnly) {
    // System.out.println(">>>>>>>>>>>>>>>");
    try{
    String command = "cmd /c ";
    //System.out.println(readOnly.getAbsolutePath());
    command = command + " attrib -h -s -r \"" + readOnly.getAbsolutePath() + "\"";
    // System.out.println(command);

    Runtime sys= Runtime.getRuntime();
    Process p=sys.exec(command);
    // StreamGobbler errorGobbler = new StreamGobbler(p.getErrorStream(), "ERROR");            
    //            errorGobbler.start();
    //             StreamGobbler stdoutGobbler = new StreamGobbler(p.getErrorStream(), "ERROR");            
    //             stdoutGobbler.start();
    int ret = p.waitFor();
    if (ret != 0) {
    if (readOnly.delete()) {
    System.out.println("<" + new Date() + ">" + "修改只读属性失败,删除文件: " + readOnly.getName());
    } else {
    readOnly.deleteOnExit();
    System.out.println("<" + new Date() + ">" + "修改只读属性失败,延迟删除文件: " + readOnly.getName());
    }

    } else {
    System.out.println("<" + new Date() + ">" + "修改只读属性文件: " + readOnly.getName() + " 成功");
    }

    }catch(Exception e){
    // System.out.println(e.toString());
    } }同时要注意命令行中的引号要保留的,注意这一段:
    " attrib -h -s -r \"" + readOnly.getAbsolutePath() + "\""这里用到了io流Gobbler,详细请看:http://community.csdn.net/Expert/topic/3225/3225349.xml?temp=.81446473、如果还是不行的话,则可能是你的系统编码和文件夹所创建时候的编码不一致。比如缺省gbk,而那个文件夹使用big5编码的?--这点好像不存在。
      

  9.   

    进入cmd模式,
    用dir /x 列目录。
     /X          显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式
                 短名称插在长名称前面。如果没有短名称,在其位置则
                 显示空白。
    找到要删除的文件夹,先cd 短名称 进入文件夹,清空文件夹
    再用 rmdir +短名称删除文件夹。
      

  10.   

    你那个不一定是空格。这个似乎在当初的dos 6.22年代能很容易
    如:md aa,然后按住alt敲数字,譬如alt+248之类的。
    就建立了一个带有“空格”的目录,此时使用
    rd "aa " 当然是不行的了。如果不用编程的方法解决也许还好办,将这个目录move到一个别的目录,然后Deltree上级目录也许可以。编程的办法也许遍历子目录,找到那个目录后delete也许可以~
      

  11.   

    嗯...
    谢谢大家了已经通过偶然的方式删除了具体删除过程:
    1 进入DOS
    2 找个支持DOS下中文显示的东西
    3 删除
    ++++++
    应为在DOS下 目录被显示为"金山毒~1"
    所以删除掉了++++
    总结一下:
    现在还是不能确定是不是目录名的问题.
    因为用windows优化大师里面的系统医生检查 说找个目录是磁盘文件错误
    经过修复后 扫描 仍然检查出磁盘文件错误.我分析的结果是:因为最后还好是删掉了 应该不是磁盘文件错误吧.
    无法在XP下删除大约是因为无法根据目录名来找到硬盘上相应的位置吧.因为..无法用CD "金山毒霸 6 " 进入目录 而 资源管理器里却可以通过双击进入.而且奇怪的是可以在这个目录下建立目录和文件.DOS下对目录进行操作的命令全部无效.
    而且在资源管理器里面除了双击进入以外的目录操作均不可以.
    并且:我在进行DOS下的操作是 目录名是通过在资源管理器中进行目录改名时候复制下来的.应该不会有空格还是Alt+255出来的空格的问题吧.
    但是 我没有用程序将末尾的空格按ASCII值打印一下看看.
    遗憾以上的朋友们提供的方法.
    无论是写C的程序还是Java的程序均没有能删除掉目录.
    应该还是无法识别目录名的原因吧.
      

  12.   

    哦,看了你这个说明,还有一个可能,如果你是使用windows2000以上版本,可能是Explorer出bug,出现暂时的文件夹无法访问,不能删除的现象,但是这种现象一般重新启动一下就可以的。