我只是想知道:在我的Java应用程序中,每次我需要连接到FTP服务器时,我应该创建一个新的FTPClient对象,还是应该创建一个FTPClient()对象并重新使用它每次我连接到FTP服务器?
答案 0 :(得分:12)
两者都可以,但是apache commons.net库是not thread safe,所以如果你确实使用一个有多个线程的客户端,请注意你必须同步访问它。
答案 1 :(得分:4)
不知道你的代码到底要做什么(连接频率,传输需要多少文件等),很难说。
我的个人意见是FTPClient()
,但每次你需要做某事时都会连接/验证/转移/断开(假设两者之间会有合理的差距)。原因是FTP会话通常具有相当短的不活动超时。
答案 2 :(得分:3)
重用会更好,因为每次创建新连接时都不需要新实例,甚至是新服务器。因为connect和disconnect方法可以帮到你。
因此,尽可能多地重用对象。