哦,对了!刚想起来!你可以做一个for循环一步一步的遍历啊——但是首先要知道文件名才行!

解决方案 »

  1.   

    利用递归的方法
    public String getFilePath(String strFileName,String strDirName){
       File file = new File(strDirName);
       String[] fileNames = file.list();
       for (int i = 0; i < fileNames.length; i ++) {
          if (fileNames[i].equals(strFileName)) {
            return strDirName;
          } else {
            strDirName += (strFileName, strDirName);
          }
       }}
      

  2.   

    刚才没有写完
    public String getFilePath(String strFileName,String strDirName){
       File file = new File(strDirName);
       String[] fileNames = file.list();
       for (int i = 0; i < fileNames.length; i ++) {
          if (fileNames[i].equals(strFileName)) {
            return strDirName;
          } else {
            strDirName += (strFileName, strDirName);
          }
       }
       return strDirName;
    }
      

  3.   

    public String getFilePath(String strFileName,String strDirName){
       File file = new File(strDirName);
       String[] fileNames = file.list();
       for (int i = 0; i < fileNames.length; i ++) {
          File fileTemp = new File(fileNames[i]);
          if (fileNames[i].equals(strFileName)) {
            strDirName += File.separator + strFileName;
            return strDirName;
          } else if (fileTemp.isDirectory()) {
            strDirName += getFilePath(strFileName, fileNames[i]);
          }
       }
       return strDirName;
      

  4.   

    mydeman(漫步者) 
    返回的值总是文件夹的根目录下
      

  5.   

    我重新写了一个,请各位指教
    public static String findFileFromPath(
    String strFileName,
    String strDirName) {
    File file = new File(strDirName);
    File[] fileNames = file.listFiles();
    for (int i = 0; i < fileNames.length; i++) {
    if (fileNames[i].isFile()) {
    if (fileNames[i].getName().equals(strFileName)) {
    strDirName =fileNames[i].toString();
    return strDirName;
    }
    } else if (fileNames[i].isDirectory()) {
    strDirName= findFileFromPath(strFileName, fileNames[i].getPath());

    File f = new File(strDirName);
    if (f.isFile())
    {
    return strDirName;
    }
    }
    }
    return strDirName;
    }