Java 使用URL创建可下载文件
如何使任何计算机上的本地文件可用作带有URL的可下载文件。客户端java应用程序将访问URL以下载文件。创建一个java服务器,如果您位于路由器/代理/防火墙后面,请确保公开它如果您从internet外部访问它,如果不是,如果您在同一子网中,则可以忽略此考虑 在Java服务器上,使其侦听特定端口,并处理来自该预定商定端口上的自定义Java客户端的TCP调用,以交换数据。然后让Java服务器使用System.IO调用或类似调用将文件作为字节流提供给客户端 Java服务器最好是LAMP、Jetty或任何基于Java的小型服务器,因此您不必从头开始Java 使用URL创建可下载文件,java,http,Java,Http,如何使任何计算机上的本地文件可用作带有URL的可下载文件。客户端java应用程序将访问URL以下载文件。创建一个java服务器,如果您位于路由器/代理/防火墙后面,请确保公开它如果您从internet外部访问它,如果不是,如果您在同一子网中,则可以忽略此考虑 在Java服务器上,使其侦听特定端口,并处理来自该预定商定端口上的自定义Java客户端的TCP调用,以交换数据。然后让Java服务器使用System.IO调用或类似调用将文件作为字节流提供给客户端 Java服务器最好是LAMP、Jetty或
希望这有帮助。您可以设置一个Web服务器 Java Web服务器:
- 这是项目页面:
当然,如果您在路由器后面,则需要将端口80转发到您的计算机。自Java 1.6以来,JDK附带了一个内置HTTP服务器 此代码用于设置一个简单的http服务器以获取特定的PDF(带请求)
参考:您可以使用Jetty服务器。将其嵌入JavaSE应用程序非常容易。您可以在此处找到更多信息: 我认为配置文件服务器对您来说尤其有趣: 下面是一个您可以在那里找到的示例:
public class FileServer
{
public static void main(String[] args) throws Exception
{
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
}
如果将
resourceBase
配置为如下文件夹路径:resource\u handler.setResourceBase(“/path/to/your/folder”)
,则此文件夹中的所有文件都可以通过HTTP访问。您到底想做什么?是否要使java应用程序可以从其他计算机访问该文件?需要在客户端应用程序之间传输文件。与P2P类似,但仅1对1文件传输。我将无法在使用此应用程序的所有计算机上设置HTTP服务器!整洁-我不知道这是在Java1.6中!另外,从Java1.0.x开始,我一直在使用YourReal的HowTo站点。这是一个很好的资源。对不起,什么?一个URL可以识别几十个方案/协议中的任何一个,即:ftp\://ftp.uiuc.edu是一个有效的URL,但不使用http。@Kylar:的确如此!耶稣基督,我回答的那一刻我的比率是多少?
public class FileServer
{
public static void main(String[] args) throws Exception
{
Server server = new Server();
SelectChannelConnector connector = new SelectChannelConnector();
connector.setPort(8080);
server.addConnector(connector);
ResourceHandler resource_handler = new ResourceHandler();
resource_handler.setDirectoriesListed(true);
resource_handler.setWelcomeFiles(new String[]{ "index.html" });
resource_handler.setResourceBase(".");
HandlerList handlers = new HandlerList();
handlers.setHandlers(new Handler[] { resource_handler, new DefaultHandler() });
server.setHandler(handlers);
server.start();
server.join();
}
}