Java-读取Ftp文件大小
目录
Java 读取Ftp文件大小
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
public class FtpTest
{
private static FTPClient client = new FTPClient();
private static final int BUFFER_SIZE = 1024000;
private void isConnection() throws IOException
{
try
{
// FTPaddress
client.connect("127.0.0.1");
// name password
client.login("root", "root");
client.setConnectTimeout(600000);
client.enterLocalPassiveMode();
int reply = client.getReplyCode();
if((!FTPReply.isPositiveCompletion(reply)))
{
client.disconnect();
throw new IOException("登录ftp服务器失败,请检查ftp配置是否正确!");
}
}
catch(IOException e)
{
throw new IOException(e);
}
}
/**
- 关闭 ftp 连接
*/
private void closeConnection()
{
try
{
if(client.isConnected())
{
client.logout();
client.disconnect();
}
}
catch(IOException e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
FtpTest ftp = new FtpTest();
FTPFile[] files = null;
Long fileSize = -1L;
client.setControlEncoding("GBK");
try
{
ftp.isConnection();
client.setFileType(FTP.BINARY_FILE_TYPE);
client.setBufferSize(BUFFER_SIZE);
// filepath+fileName /a/b.jpg
files = client.listFiles("feng风景.png");
if(null != files && files.length > 0)
{
fileSize = files[0].getSize();
}
System.out.println(fileSize);
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
ftp.closeConnection();
}
}
}