Android 列出http服务器中存在的文件夹的文件
我有一个关于Http的问题。在android中,如何列出Http服务器中文件夹的文件 我可以从服务器下载文件。但我想检查文件夹中的文件。Android 列出http服务器中存在的文件夹的文件,android,Android,我有一个关于Http的问题。在android中,如何列出Http服务器中文件夹的文件 我可以从服务器下载文件。但我想检查文件夹中的文件。 我对此进行了很多探索,但未能找到解决方案。有谁能给我建议实现它的方法吗 在目标服务器上创建一个web服务方法,该方法(在Java中)调用 File myDir = new File(request.getRealPath("pathToMyDir")); ArrayList fileArray = new ArrayList(Arrays.asList(myD
我对此进行了很多探索,但未能找到解决方案。有谁能给我建议实现它的方法吗 在目标服务器上创建一个web服务方法,该方法(在Java中)调用
File myDir = new File(request.getRealPath("pathToMyDir"));
ArrayList fileArray = new ArrayList(Arrays.asList(myDir.list()));
“getRealPath”方法已被弃用,但对我有效;-)我的文件位于我的web应用程序中的文件夹中。您的方法需要将ArrayList的内容打包成JSON字符串(作为返回)
然后,在Android中创建对该方法的JSON调用,并以正常方式解析结果。很多描述这种机制的票。HTH.您将需要一个服务器端脚本来列出PHP中的文件,如下面的文件 将文件放在包含所有要查看的文件的目录中, 称为listfiles.php
<?php
if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
//$thelist = $thelist.$file.'<br>';
$thelist = $thelist.$file."\r\n";
}
}
closedir($handle);
}
echo $thelist;
?>
然后在您的android java应用程序中,您将下载该文件,然后为您的处理构建一个文件名数组
String serverFile = "path on your server/listfiles.php";
String listOfFiles = DownloadText(serverFile);
String[] linesOfFiles = listOfFiles.split("<br>");
String serverFile=“服务器上的路径/listfiles.php”;
String listOfFiles=DownloadText(serverFile);
字符串[]linesOfFiles=listOfFiles.split(“
”);
然后,您就有了服务器上所有文件的字符串数组。我没有包含DownloadText函数的代码,但这是非常标准的,您可以很容易地找到它。它将通过HTTP下载任何文本文件
HTH获取文件列表(以“-”分隔)的服务器脚本:
您的Web服务器应该首先允许它。第二,只需发送一个json,其中包含文件夹中的文件列表,如果您拥有服务器控件,则对其进行解析。什么是nameValuePairs?这篇文章来自2013年,当时HttpPost和HttpClient用于工作,但现在这些方法已过时。改用HttpUrlConnection。@标记您应该考虑提供DownloadText()方法。
<?php
$path = realpath('your path\\your folder');
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)) as $filename)
{
if (strpos($filename,'.mp3') !== false)
$filenm=$filenm ."-". basename($filename);
}
echo $filenm
?>
try {
int timeout= 7000;
HttpPost httppost= null;
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(HttpConnectionParams.CONNECTION_TIMEOUT, timeout);
httppost = new HttpPost("http://yourserver/getlist.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}
catch(Exception e) {
e.printStackTrace();
}
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"),8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");
String line="0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}
catch(Exception e){
e.printStackTrace();
}
for (String getFile: result.split("-")){
Log.d("abc","String is:" + getFile);
}