2012-07-09 53 views
0

Im在使用Java Web Start程序确定如何写入文件时遇到了一些麻烦,我想将文件写入描述已上载到云服务器。我还希望从客户端发送文件名和路径等数据,以便我可以在用户和云存储设施之间创建连接并将文件发送给它。什么是与JWS Java应用程序的服务器进行交互的最佳方式

当前,当我尝试运行我的Web Start应用程序时,它工作正常,并且没有提供任何错误,但是不会将文件和文件夹写入它驻留的服务器。例如,下面的代码无法正常工作:

new File ("ArFile Clients\\File Data\\" 
     + user.getCompany().getName() + "\\" + user.getUsername()).mkdirs(); 

此目录所在的服务器上,并创建将数据存储上的应用程序的用户。但是在运行时,它会被忽略或不被执行。

我没有使用套接字或FTP或类似的东西,云服务器有我自己的自定义库,我知道这个问题必须与Java Web Start如何工作,我只是找不到涉及在服务器上创建文件,并且在客户机中提取数据的任何很好的例子(只是像文件系统的目录和文件数据)

+0

JWS应用程序运行*本地*即使它是*下载远程*; JWS是一种客户端技术。另外,“简单忽略或不执行”可能是错误的结论。这不是野兽的本质。 – 2012-07-09 05:41:17

+0

也许重新编写标题以提出真正的问题:“JWS如何访问/修改'云'文件?” (或者类似的*捕获意图*。) – 2012-07-09 05:45:51

+0

好吧,我不能告诉幕后发生了什么,但没有文件写入服务器机器,所以我需要使用URL或其他东西来得到这个工作?也可以使用Applet代替我想要做的更好的选择? – 2012-07-09 05:45:53

回答

2

我想在webstart的一些解释还真是会与此有关:)

第一总之,web start是在客户端JVM上运行的东西。 是的,它使用jnlp文件,你应该指定从属jar /其他资源的URL。 Web开始所做的就是读取此jnlp文件(再次在客户端)分析,找出存在资源的URL列表并将它们加载到客户端计算机上。 物理上,这是通过使用javaws的工具,一个可以在

%JDK_HOME%\ bin中 文件夹中找到实现的。 就像''java''作为一个输入一系列类文件/罐子并产生一个jvm,javaws得到一个jnlp,读取它,带来资源并产生一个jvm :) 还有一些额外的东西,网络开始可以做(像自动更新),但这是'核心功能'。底线,如果你想在服务器上写一些文件,web start是一个错误的方法。

从概念上讲,一旦您的应用程序被加载,并且您想要将文件存储在服务器上 - 从客户端创建某种到服务器计算机的连接并将文件上传到那里。这种或那种方式不能与网络进行启动:)

我希望它能帮助

+0

基于这些信息,我认为不错,我认为不适合JWS,但是完全忘记了服务器机器,它不是我想要的,但是在一天结束时,程序可以正常工作而无需服务器交互。尽管如此,我试图在服务器机器上运行.jnlp文件(这也使得它也成为了客户端吗?),但这仍然没有写入文件,但是如果我进入netbeans并运行文件本身,它可以很好地工作: S – 2012-07-09 06:01:43

+0

嗨,正如我所说的网络启动不会自己写文件。如果只是在内部下载url(通常是它的罐子或资源,如图片,声音文件等)。为了手动运行web启动,你可以使用'javaws your-jnlp-file.jnlp' - 这将起作用。你可以在你的应用程序中编写/读取文件,如果这不起作用的话应该有一个异常,指定到底是什么失败...... – 2012-07-09 06:05:35

+0

你是我正在运行的jnlp文件,它只是不写,并且尽我所能告诉我们没有抛出异常,我会尝试几件事情,看看它们是否是问题,如果问题仍然存在,我会尽快回复(当我写作时,这是使用缓冲作者在代码中编写文件) – 2012-07-09 06:11:32

相关问题