Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从URL获取文件列表_Java - Fatal编程技术网

Java 如何从URL获取文件列表

Java 如何从URL获取文件列表,java,Java,我有一个URL http://……../somefolder/我想获取此文件夹中所有文件的名称。我尝试了下面的代码,但它显示错误 URL url = new URL("http://.............../pages/"); File f=new File(url.getFile()); String list[]=f.list(); for(String x:list) { System.out.printl

我有一个URL http://……../somefolder/我想获取此文件夹中所有文件的名称。我尝试了下面的代码,但它显示错误

URL url = new URL("http://.............../pages/");
       File f=new File(url.getFile());
       String list[]=f.list();
       for(String x:list)
       {
           System.out.println(x);
       }
错误:-线程“main”java.lang.NullPointerException中出现异常
在Directory.main(Directory.java:25)

中,这样做是不可能的

HTTP没有“文件夹”的概念。当你打开这个URL时,你看到的只是另一个网页,它碰巧有一堆指向其他网页的链接。就HTTP而言,它在任何方面都不是特别的(因此HTTP客户机,就像Java中内置的客户机一样)

这并不是说这是完全不可能的。您可以通过另一种方式获取文件列表


编辑:代码不能工作的原因是它做了一些完全荒谬的事情
url.getFile()
将返回类似于
“/…./页面/”
,然后将其传递到
文件
构造函数中,该构造函数将为您提供一个
文件
,表示路径
/…/页面/
(或Windows上的
C:\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/code>)
f.list()
发现您的计算机上不存在该路径,并返回null。无法获取指向URL的
文件
,就像无法获取值为5.11的
int

aaaa而
目录在哪里。java:25
?除此之外,我认为这是不可能的。对我来说,可能的复制似乎是一个合法的问题。在某些情况下,您希望获取属于项目一部分的文件列表,例如,您的项目是作为war部署的web应用程序。当您在本地开发应用程序时,使用文件获取目录并列出内容将起作用,并且项目作为目录中的文件存在,但当应用程序作为war文件部署时,将失败。