2014-09-01 88 views
-1
String dirPath = "\\\\tent\\AAA\\Apps\\DCS\\DCMS\\PASE2E\\PAS\\Home\\ArchivePDF"; 
     FTPClient ftpClient = new FTPClient(); 
     ftpClient.connect("192.168.20.143"); 
     ftpClient.login("ggh2ban", "password"); 
     ftpClient.setRemoteVerificationEnabled(false); 
     ftpClient.enterLocalPassiveMode(); 
     FTPFile[] files = ftpClient.listFiles(dirPath); 
     for (FTPFile file : files) { 
      String details = file.getName(); 
      if(file.isFile()) 
      { 
       System.out.println("Name is "+details); 
      } 

這是我從ArchivePDF文件夾讀取文件的代碼。其獲取以下錯誤。任何人有任何想法?在Windows上從共享路徑讀取文件

Exception in thread "main" java.net.ConnectException: Connection refused: connect 
    at java.net.PlainSocketImpl.socketConnect(Native Method) 
    at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) 
    at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) 
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) 
    at java.net.Socket.connect(Socket.java:529) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:182) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:203) 
    at org.apache.commons.net.SocketClient.connect(SocketClient.java:296) 
    at com.file.FTPFileOps.main(FTPFileOps.java:20) 

FTPFileOps.java:20= IP地址行!我通過Remote Desk Conn訪問我的客戶端計算機,並且文件位於上面提到的共享網絡中。

謝謝!

+0

是你的ftp服務器運行嗎? – Arvind 2014-09-01 07:18:40

+0

該錯誤與Windows或共享路徑無關,但與FTP連接無關。 – 2014-09-01 07:20:40

+3

你是否試圖通過FTP訪問NetBIOS/Samba路徑?我不知道如何rdesktop附加遠程文件夾...但我懷疑它是FTP。 – 2014-09-01 07:21:01

回答

0

Windows共享不使用FTP協議,但使用SMB協議。

在Windows機器上,使用當前用戶連接,您可以用java.io.File剛打開文件:

new File("\\\\tent\\AAA\\Apps\\DCS\\DCMS\\PASE2E\\PAS\\Home\\ArchivePDF"); 

如果要指定另一個用戶名/密碼或非Windows機器上運行,可以使用JCIFS庫(http://jcifs.samba.org/),並做一些事情,如:

SmbFile file = new SmbFile("smb://ggh2ban:[email protected]/tent/AAA/Apps/DCS/DCMS/PASE2E/PAS/Home/ArchivePDF"); 

然後使用JCIFS API來遠程文件系統上瀏覽。

相關問題