String str ="mnt/sd/mkl/pic2";
  str = new String(str.getBytes("8859_1"), "GB2312");//8859_1
  File desFile = new File(str);
  if(desFile.isDirectory())
  {
  //这里不执行
if(!desFile.exists())
  { desFile.mkdir();}
  continue;
  }
  if(desFile.isFile())
  {
  //居然执行这里
  }

解决方案 »

  1.   

    mnt/sd/mkl/pic2 这个可能就不是目录,所以就没执行。
      

  2.   

     desFile.mkdir();这句话执行了吗
      

  3.   

    str = new String(str.getBytes("8859_1"), "GB2312");//8859_1 
    这个码制似乎故弄玄虚
    难道文件名非得 GBK码制?
      

  4.   

    str = new String(str.getBytes("8859_1"), "GB2312");//8859_1 
    这个码制可能有问题,
    有“GB2312”的含义 表示 原字节码是 GB2312(不对),再转换成8859_1的;
      

  5.   

    String str ="mnt/sd/mkl/pic2";     
     File desFile = new File(str); 
    if(desFile.isDirectory())   
        { 
             if(!desFile.exists()) 
               {    desFile.mkdir();
               }
            // continue;    
         }      
       if(desFile.isFile())    
        {         
            //居然执行这里     
         }