Java 如何从URL获取文件列表
我有一个URL http://……../somefolder/我想获取此文件夹中所有文件的名称。我尝试了下面的代码,但它显示错误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 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文件部署时,将失败。