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文件夹中读取文件的代码。它得到以下错误。有想法的人吗?
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 :(得分: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:password@192.168.20.143/tent/AAA/Apps/DCS/DCMS/PASE2E/PAS/Home/ArchivePDF");
然后使用JCIFS API在远程文件系统上导航。