File f=new File("E:\Documents and Settings\Administrator\桌面\test.doc"):
你是这样写的吗?不应该有问题啊

解决方案 »

  1.   

    String s = "E:\\Documents and Settings\\Administrator\\桌面\\";
                File f=new File(s);
            File[] fs=f.listFiles();
                System.out.println(fs.length);
    //试了一下,没有问题啊
      

  2.   

    File f=new File("E:\Documents and Settings\Administrator\桌面\test.doc")
    没问题啊
      

  3.   

    呵呵,是不是"\" 跟" /"的问题,写成
    String filePath = "C:/Documents and Settings/Administrator/桌面/d.jpg";
    或者
    String filePath = "C:\\Documents and Settings\\Administrator\\桌面\\d.jpg";
    File f = new File(filePath);
      

  4.   

    同意 wingofsea(翱翔的翼) ,是不是\被认成转义字符了
      

  5.   

    哈哈,我很想说是rp问题,但女同胞应该不会吧
    用chanceqw(★★★★★) 的测试一下,如果不行,我也没辙
      

  6.   

    是的,虽然我是个女的,但是……也许我没有很好的表达清楚,情况是这样的,我是从命令行得到路径,cmd窗口的字符好象和java的字符类型不一样,各位试试,路径中有空格的就不行,谁解决了马上给分!: 
    import java.io.*;
    public class test
    {
       public static void main(String[] Angie)
       {
        if(new File(Angie[0]).exists())
        System.out.println(true);
        else
        System.out.println(false);
       }
    }
      

  7.   

    你们不信可以执行我写的这段代码,然后从命令行传入一个带空格路径,最后的结果绝对是输出一个“false”
      

  8.   

    是不是“E:\Documents and Settings\Administrator\桌面\”
    中间哪里写错了
    简单点用比如“c:\a b\”试试
      

  9.   

    java test  "E:\Documents and Settings\Administrator\桌面\"
    加上引号试试
      

  10.   

    febchen() 谢谢你的回答,的确是要加上引号,现在就给你分
      

  11.   

    应该是你从命令行度参数的时候按空格把你的一个参数分为几个参数了,遇到有空格的参数时你试一下这样
    public static void main(String[] args) {
            String fileName = "";
            for(int i = 0; i < args.length; i++){
                fileName += args[i] + " ";    
            }
            
            fileName = fileName.trim();        if(new File(fileName).exists())
                System.out.println(true);
            else
                System.out.println(false);
    }