使用for循环,列出所有文件夹和文件。我想只显示所有列出的文件夹中的指定文件夹(sdcard)

时间:2014-11-18 08:59:16

标签: java android

private String listfolders(String[] files, File f,String uri)
{     String msg = "";
      for ( int i=0; i<files.length; ++i )
      {
          File curFile = new File( f, files[i] );

                  boolean dir = curFile.isDirectory();  
                  // Show file size
                  String extra = "";
                  if ( curFile.isFile())
                  {
                          //extra = "target='_blank'"
                      extra = "";
                  }              
                  if ( dir )
                  {                  
                      Date lm =new Date(curFile.lastModified());    
                      String filedate = new SimpleDateFormat("dd-MM-yyyy'_'HH:mm:ss").format(lm);   
                           msg +="<b>";                                        
                           msg +="<tr>";                                  
                           msg +="<td>";
                           String path="/sdcard/temp/includes/fold.png";
                           //String p = "/Filemanager/res/drawable-hdpi/ic_launcher.png";
                           msg +="<a "+extra + " href=\"" + encodeUri( uri + files[i] ) + "\">"  +"<img src=\""+ path +"\">"+  

                                   "<span class=\"fontf fcolor_black fsize\">"+ files[i] + "</span></a></td><td>";      
                           msg +="<td class=\"fcolor bfont\">";
                           msg +=filedate;
                           msg += "</font></td>";
                           msg +="<td><input type=\"checkbox\" name=\"chkfolder\" value=" + files[i] + " /></td> ";
                           msg +="</tr>";
                           msg += "</b>";                           
                  }                   
          }

      return msg;
}
private String listfiles(String[] files, File f,String uri)
{ String msg = "";
      for ( int i=0; i<files.length; ++i )
      {
          File curFile = new File( f, files[i] );
                  boolean dir = curFile.isDirectory();  
                  // Show file size
                  String extra = "";
                  if ( curFile.isFile())
                  {
                          //extra = "target='_blank'";

                  }              
                  if ( !dir )
                  {                        
                          if ( curFile.isFile())
                          {                                  
                              Date lm =new Date(curFile.lastModified());    
                              String filedate = new SimpleDateFormat("dd-MM-yyyy'_'HH:mm:ss").format(lm);                                                             

                              msg +="<tr align=\"left\">";                                
                               msg +="<td align=\"left bfont\">";
                               String pa="/sdcard/temp/includes/file.jpg";
                               msg +="<a " + extra + " href=\"" + encodeUri( uri + files[i] ) + "\">"  +"<img src=\""+ pa +"\">"+
                                       "<span class=\"fontf fcolor_black fsize bfont\">"+
                                         files[i] + "<span></a></td><td>";      
                                  long len = curFile.length();
                                  msg += "<h4 class= \"fcolor_black\">";
                                  if ( len < 1024 )
                                          msg += curFile.length() + " bytes";
                                  else if ( len < 1024 * 1024 )
                                          msg += curFile.length()/1024 + "." + (curFile.length()%1024/10%100) + " KB";
                                  else
                                          msg += curFile.length()/(1024*1024) + "." + curFile.length()%(1024*1024)/10%100 + " MB";

                                  msg += "</h4></td>";
                                  msg +="<td class=\"fcolor bfont\">";
                                  msg +=filedate;
                                  msg += "</td>";
                          } 

                          msg +="<td><input type=\"checkbox\" name=\"chkfile\" value=" + encodeUri(files[i]) + " /></td> ";
                          msg +="</tr>";                             
                  }                
          }

      return msg;
}

这是我们程序的一小部分,用于列出目录中的文件夹和文件。 但我想只显示指定的文件夹及其文件。"/sdcard/folder name/"。我该怎么办。我需要一些帮助。希望这个网站能帮助我

1 个答案:

答案 0 :(得分:0)

只需添加条件

if ( dir && dir.getName().equals("foldername"))
                  {                  
                      Date lm =new Date(curFile.lastModified());    
                      String filedate = new SimpleDateFormat("dd-MM-yyyy'_'HH:mm:ss").format(lm);   
                           msg +="<b>";                                        
                           msg +="<tr>";                                  
                           msg +="<td>";
                           String path="/sdcard/temp/includes/fold.png";
                           //String p = "/Filemanager/res/drawable-hdpi/ic_launcher.png";
                           msg +="<a "+extra + " href=\"" + encodeUri( uri + files[i] ) + "\">"  +"<img src=\""+ path +"\">"+  

                                   "<span class=\"fontf fcolor_black fsize\">"+ files[i] + "</span></a></td><td>";      
                           msg +="<td class=\"fcolor bfont\">";
                           msg +=filedate;
                           msg += "</font></td>";
                           msg +="<td><input type=\"checkbox\" name=\"chkfolder\" value=" + files[i] + " /></td> ";
                           msg +="</tr>";
                           msg += "</b>";                           


         }