2012-12-14 72 views
0

在开发servlet时,我必须将文件(* .doc)从其他计算机上的共享文件夹复制到我的servlet webapp空间,但我无法。麻烦并不是写在我的Apache服务器上,而是,我期待麻烦从远程文件夹(LAN中的共享文件夹)复制文件。任何建议或想法?将文件从共享文件夹复制到javaservlet中的本地文件夹

File inFile = new File("\\\\192.168.2.103\\CompartidaMatias\\tablaEstudios.txt"); 
     out.println("<p> AbsolutePath --> " + inFile.getAbsolutePath() + "</p>"); 
     out.println("<p> Path --> " + inFile.getPath() + "</p>"); 
     out.println("<p> Nombre --> " + inFile.getName() + "</p>"); 
     out.println("<p> WEBAPP_ROOT --> " + WEBAPP_ROOT + "</p>"); 



     File outFile = new File(WEBAPP_ROOT + "mydoc3a.txt"); 

     if (inFile.exists()) 
      out.println("<p>FILE FOUND</p>"); 
     else 
      out.println("<p>FILE NOT FOUND</p>"); 

我总是得到未找到文件:( 感谢您的时间哥们!我希望它可以解决,但我已经花了我所有的想法再次感谢!!

回答

0

尝试:

URL url = new URL("file:///192.168.2.103//CompartidaMatias//tablaEstudios.txt"); 
File inFile = new File(url.getFile()); 
+0

非常感谢!我会尽力!! :) P – Carol

+0

但不工作:(我得到错误的路径:(记得我试图从一个运行在Apache中的servlet做到这一点,也许我不能访问Windows文件系统或我不知道。今天是一个悲伤的星期五对于mi :(我只是在开玩笑!!:P是不是不伤心星期五!! :) 非常感谢!! – Carol

+0

我从2个Windows PC运行它。 – Carol

1

这不是如何java.io.File的作品。它仅适用于本地磁盘文件系统上,而不是在网络资源。

最好的办法是让你的戏系统平台创建一个指向网络资源的本地映射(一种虚拟磁盘),并且,假设你在Windows上,也为它分配一个磁盘盘符。这里有一个Microsoft Windows 7 guide on the subject

enter image description here

你只需要映射\\192.168.2.103到例如Z:\。一旦做到这一点,你应该能够找到该文件,如下所示:

new File("Z:/CompartidaMatias/tablaEstudios.txt"); 

(注意:/工作方式\\的好,从努力为您节省逃脱他们的)

请注意此问题与servlet完全无关。这只是一个基本的Java问题。在一个普通的Java应用程序中使用main()方法执行此操作时,您会遇到完全相同的问题(该方法允许比servlet更快更轻松地进行测试)。请记住您的未来问题。

相关问题